1

我从 TrustAuthorityClient API 获得了 SAML 断言。使用以下公共 API 代码

securityToken = client.getSecurityToken("default", endpointURL, mexEndpointURL,
         (java.lang.Object)ssoToken, SecurityMechanism.STS_SECURITY_URI,
           (getServletConfig()).getServletContext());

但这是使用 SunSTS 创建的。当我测试此断言以从 SalseForce 检索访问令牌时。它给了我无效的断言。

有没有办法从 OpenAM for SalesForce 检索 SAML 响应?

当我测试 IDP 时,会向 SalesForce 发起 SSO。在调试日志中,我可以看到为 SSO 创建了 SAML 响应。我应该如何从 OpenAM 检索此 SAML 响应?

4

1 回答 1

1

您可能需要在前端通过 JavaScript 获取 SAML 响应。完整的响应将在 SSO 之后的 SAMLResponse 对象中,因此接收此响应的断言使用者服务 URL (SP SSO URL) 需要检查该参数、保存它并以某种方式提交给 SFDC 以进行 OAuth 令牌交换。或者,从 SunSTS 获取断言并自己制作 SAMLP 响应包装器。

我相信这是由于 SFDC 为 OAuth 2.0 实施了早期的 SAML 2.0 Bearer Assertion Profiles 草案(参见:https ://datatracker.ietf.org/doc/html/draft-ietf-oauth-saml2-bearer-10 ) .

该规范的最新草案不需要响应包装器 - 可能只有来自 SunSTS 的断言本身可以工作,只要 SFDC 更新支持它。

于 2012-02-22T20:56:20.427 回答