前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >salesforce 单点登录sso

salesforce 单点登录sso

原创
作者头像
zcx
发布2024-09-11 13:49:31
1170
发布2024-09-11 13:49:31
举报
文章被收录于专栏:salesforce开发记事本

在 Salesforce 单点登录 (SSO) 认证过程中,当身份验证提供者(如登录中心)验证用户身份成功后,会通过 SAML(Security Assertion Markup Language)OAuth 2.0 的协议回传参数给 Salesforce 来进行用户身份匹配。具体来说,最关键的参数是用户的唯一标识符(通常称为 NameID 或者 User ID),以及其他必要的属性(Attributes)。以下是 SSO 过程中常见的关键参数:

1. SAML SSO 认证

在 SAML SSO 中,登录中心(身份提供者,IdP)通过 SAML 响应返回给 Salesforce(服务提供者,SP)。SAML 响应中包含以下关键参数:

  • NameID:这是用户在 IdP 中的唯一标识符,通常是用户的电子邮件地址或用户名,Salesforce 使用它来匹配 Salesforce 中的用户。Salesforce 中的用户名字段必须与此 NameID 一致。
  • Attributes(属性):除了 NameID,IdP 还可以通过 SAML 属性传递额外的用户信息,如 emailfirstNamelastName 等。Salesforce 也可以根据这些属性进行用户的匹配。

SAML 响应是通过浏览器 POST 回给 Salesforce 的,并带有数字签名来确保安全性。

2. 用户匹配

Salesforce 使用以下几种方式匹配用户:

  • 用户名匹配:SAML 响应中的 NameID 或 OAuth 2.0 的 ID Token 中的用户标识符需要和 Salesforce 中的用户名一致。
  • Federation ID 匹配:Salesforce 用户的 Federation ID 字段可以和 SAML 的 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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. SAML SSO 认证
  • 2. 用户匹配
  • 记录一次登录失败的调试过程:
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档