如何从angular 7应用程序登录salesforce



我需要以用户身份登录salesforce。因此,用户将输入他们的用户名和密码以进行身份验证。我们目前有一个非常糟糕的Electron应用程序,它通过生成一个弹出窗口来实现这一点,该窗口进入salesforce登录页面,然后返回到另一个salesforc页面,URL中有一个令牌。然后通过回调函数将其传递回原始页面。然而,当我在Angular 7中使用此代码时,我会得到以下错误

阻止了具有原点的帧"http://localhost:4200"从访问交叉原点框架。

该代码看起来也有点像黑客,而不是通过salesforce进行身份验证的正确方法。。。

有人知道正确的方法吗?因为我的搜索只提供了使用非特定用户特定API进行身份验证的方法。

您可以使用Rest API或Soap API连接到salesforce,并根据用户名和密码获取您的会话id

如果您使用REST API:创建连接的应用程序:使用以下步骤创建新的已连接应用程序。

使用Salesforce创建新的已连接应用程序。

1.在Lightning Experience中,使用应用程序管理器创建连接的应用程序。在"设置"中,在"快速查找"框中输入应用程序,然后选择"应用程序"经理单击新建已连接的应用程序。

2.在Salesforce Classic中的"设置"中,在"快速查找"框中输入应用程序,然后选择"应用程序"(在"构建|创建"下)。在Connected Apps下,单击"新建"。

3.输入应用程序的名称。

4.输入联系电子邮件信息,以及适用于您申请的任何其他信息。

5.选择启用OAuth设置。

6.输入回调URL。根据您使用的OAuth流,这通常是用户浏览器重定向到的URL身份验证成功。由于此URL用于某些OAuth流若要传递访问令牌,URL必须使用安全HTTP(HTTPS)或自定义URI方案。用换行符分隔多个回调URL。回调URL字段的累计字符数限制为2000个。如果您输入了多个URL,并且它们超过了此限制,请配置另一个连接的应用程序来管理更多的回调URL。

7.将所有支持的OAuth作用域添加到所选OAuth范围。这些作用域是指运行连接的应用程序。

8.为"信息URL"输入URL。用户可以在这里获取有关应用程序的更多信息。

9.单击"保存"。

10.创建并显示消费者密钥,并创建消费者秘密(单击链接以显示)。

11.一旦定义了一个连接的应用程序,就可以使用消费者密钥和消费者机密来验证您的应用程序。请参见创建Salesforce在线帮助中的Connected App,了解具体步骤为您需要的身份验证类型创建一个连接的应用程序。

在angular中创建一个服务,调用您的标准salesforce rest api进行登录,方法是:

-方法:POST

-端点:https://services/oauth2/token?grant_type=password&客户端id=&client_secret=&username=&密码=

您将收到您的会话id不要使用Iframe,它永远不会工作

肥皂:使用您的wsdl合作伙伴您可以从wsdl生成函数,并使用它进行登录以获取会话id

问候,

最新更新