0

我正在开发一个用于与 Salesforce 集成的 Web 服务,并且我在该服务中有自己的用户注册/登录机制。

我想为未注册用户实现 OAuth 和 SAML 登录。

目前,我已经开发了 OAuth 一种,用户可以利用它来授权我的服务以访问用户的 Salesforce 资源,并且在授权后,一个映射用户帐户将在我的服务中自动注册。然后用户可以作为登录用户访问我的服务,并且我的服务能够使用通过 OAuth 检索到的用户“访问令牌”访问 Salesforce 中的用户资源。

但是在 SAML 中,我真的很困惑,如果我可以拥有任何像 SAML 的“访问令牌”这样的部分以供将来访问资源?在 Salesforce 的文档中,它提到“使用安全断言标记语言 (SAML) 的联合身份验证允许您在附属但不相关的 Web 服务之间发送身份验证和授权数据。这使您能够从客户端应用程序登录到 Salesforce。”

在我的场景中,SP 是 Salesforce,IdP 可能是 OneLogin,我的服务扮演客户端应用程序的角色。抱歉,我无法描述更多细节,因为我不太确定如何使用 SAML 来实现与使用 OAuth 相同的机制。有没有人有同样的问题或刚刚解决了类似的问题?谢谢。

4

1 回答 1

1

将 SAML 页面添加到您的应用程序实质上将作为您当前登录页面的替换/替代操作。

SAML 页面不会接受用户名/密码,而是接受来自 IdP 的签名 SAML 断言,并且断言的一部分将是用户名。

因此,SAML 设置允许 IdP 为任何用户的身份“担保”,而不是为每个用户提供一组唯一的 oAUTH 凭据(这听起来就像您目前使用 Salesforce 所做的那样)。

我希望这是有道理的。

于 2016-07-05T16:07:01.527 回答