繁体   English   中英

Salesforce无法实现SSO

[英]Unable to implement SSO in Salesforce

我正在为 Salesforce 实施服务提供商发起的 SSO,其中服务提供商将为 Salesforce,身份提供商将为 lambda 代码。 lambda 代码将在验证用户的手机号码后允许用户使用。 验证手机号码后,将通过 lambda 发送 SAMLResponse。

我在 Salesforce 上配置了 SSO,如下所示:- 在此处输入图像描述

我还能够生成有效的 SAML 响应并在 Salesforce SAML 验证器上对其进行验证,如下所示:-

在此处输入图像描述

我创建了一个将从 Salesforce 重定向的 登录页面

我还创建了一个 API,以便每次针对给定的联合 ID 获得唯一的 SAML 响应,如下所示:- https://qodz4saz9a.execute-api.us-west-2.amazonaws.com/v1/generate-saml-response ?FederationID=rahul@xyz.com

URL 对于 Salesforce 登录页面是 - https://im--partial.my.salesforce.com/

完成所有这些设置后,我可以重定向到我从 Salesforce 创建的登录页面,方法是选择“使用不同的帐户登录”选项,然后选择“Twilio”,如下所示:-

在此处输入图像描述

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 作为查询参数来传递用于登录 Salesforce 的 base 64 编码 SAML 响应。但我不确定这是否是验证和登录 Salesforce 的正确方法。

输入 OTP 后(测试 OTP 为 1234),出现以下错误。 在此处输入图像描述

我暂时没有使用Salesforce生成的 SAMLRequest 来生成SAMLResponse

我浏览了很多文档,但找不到将 SAMLResponse 传递给 Salesforce 进行登录的方法。 如果有人对此有任何想法,或者我是否遵循了错误的步骤,请告诉我。

SAML 响应以特定的“方式”发送给服务提供商,协议将此称为绑定 在这种情况下,预期的绑定是 HTTP POST。 使用 HTTP POST 作为您的绑定,SAML 响应必须在通过 POST 方法发送给服务提供商的 HTTP 请求正文中提交。 单点登录设置屏幕中列出的Login URL是应该发布 SAML 响应的端点。 它可能看起来像这样:

POST / HTTP/1.1
Host: im--partial.my.salesforce.com
Content-Type: application/x-www-form-urlencoded
Content-Length: nnn
SAMLResponse=response

您需要担心 SAML 请求吗? 这取决于您的工作流程和所需的最终用户体验。 将 go 纳入此决定的考虑值得他们自己提出 SO 问题。 同时,查看SAML 技术概述以获得这些工作流程的摘要。

最后但同样重要的是,Salesforce 在某些 Salesforce 产品上开箱即用地支持通过您的手机号码进行的整个身份验证序列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM