【发布时间】:2020-04-14 18:37:46
【问题描述】:
我正在为 Salesforce 实施服务提供商发起的 SSO,其中服务提供商将是 Salesforce,身份提供商将是 lambda 代码。在验证用户的手机号码后,lambda 代码将允许用户使用。验证手机号码后,lambda 将发送 SAMLResponse。
我还能够生成有效的 SAML 响应并在 Salesforce SAML 验证器上对其进行了验证,如下所示:-
我创建了一个login page,将从 Salesforce 重定向。
我还创建了一个 API,每次都为给定的联合 ID 获取唯一的 SAML 响应,如下所示:- https://qodz4saz9a.execute-api.us-west-2.amazonaws.com/v1/generate-saml-response?FederationID=rahul@xyz.com
Salesforce 登录页面的 URL 是-https://im--partial.my.salesforce.com/。
完成所有这些设置后,我可以通过选择“使用其他帐户登录”选项然后选择“Twilio”重定向到我从 Salesforce 创建的登录页面,如下所示:-
Salesforce 正在重定向到登录页面,并在 URL 中使用 SAMLRequest 参数,如下所示:-
http://salesforce-sso-page.s3-website-us-west-2.amazonaws.com/?SAMLRequest=fZJRc6IwFIX%2FC.....
我不确定如何从这里开始并允许从我的登录页面登录 Salesforce。一旦用户输入手机号码和 OTP,我会将用户重定向到以下 URL -
https://im--partial.my.salesforce.com?SAMLResponse=PD94bWwgdmVyc2lvbj0i.....
这里我使用 SAMLResponse 作为查询参数来传递 base 64 编码的 SAML 响应以登录到 Salesforce。但我不确定这是否是验证和登录 Salesforce 的正确方法。
我暂时没有使用 Salesforce 生成的 SAMLRequest 来生成 SAMLResponse。
我浏览了许多文档,但找不到将 SAMLResponse 传递给 Salesforce 以进行登录的方法。请让我知道是否有人对此有任何想法或我是否遵循了错误的步骤。
【问题讨论】:
标签: authentication salesforce single-sign-on saml-2.0