在 Salesforce 单点登录 (SSO) 认证过程中,当身份验证提供者(如登录中心)验证用户身份成功后,会通过 SAML(Security Assertion Markup Language) 或 OAuth 2.0 的协议回传参数给 Salesforce 来进行用户身份匹配。具体来说,最关键的参数是用户的唯一标识符(通常称为 NameID
或者 User ID
),以及其他必要的属性(Attributes)。以下是 SSO 过程中常见的关键参数:
在 SAML SSO 中,登录中心(身份提供者,IdP)通过 SAML 响应返回给 Salesforce(服务提供者,SP)。SAML 响应中包含以下关键参数:
NameID
一致。NameID
,IdP 还可以通过 SAML 属性传递额外的用户信息,如 email
、firstName
、lastName
等。Salesforce 也可以根据这些属性进行用户的匹配。SAML 响应是通过浏览器 POST 回给 Salesforce 的,并带有数字签名来确保安全性。
Salesforce 使用以下几种方式匹配用户:
NameID
或 OAuth 2.0 的 ID Token
中的用户标识符需要和 Salesforce 中的用户名一致。NameID
进行匹配。这种方式通常用来防止用户更改用户名后的认证问题。通过这些参数,Salesforce 能够识别返回的用户身份,并允许其登录对应的 Salesforce 帐号。
如果配置sso后,在身份中心认证通过,却登录salesforce失败,可以按照以下步骤操作:
1. SAML Identity Type 选择 Assertion contains the Federation ID from the User object
2. 点击按钮SAML Assertion Validator 查看错误信息
3. 这里报错Unable to map the subject to a Salesforce user,说明两个系统之间身份未同步
4. 将认证中心的用户guid赋值给salesforce user对象的Federation ID
再次登录,成功
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。