1

TrustAuthorityClient API から SAML アサーションを取得しました。以下のパブリック API コードを使用

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

しかし、これは SunSTS で作成されています。このアサーションをテストして、SalseForce からアクセス トークンを取得すると、それは私に無効なアサーションを与えます。

SalesForce の OpenAM から SAML 応答を取得する方法はありますか?

IDP をテストすると、SalesForce で SSO が開始されます。デバッグ ログを見ると、SSO 用に SAML レスポンスが作成されていることがわかります。この SAML 応答を OpenAM から取得するにはどうすればよいですか?

4

1 に答える 1

1

フロントエンドで JavaScript を介して SAML レスポンスを取得する必要がある場合があります。完全な応答は SSO 後に SAMLResponse オブジェクトに格納されるため、これを受け取るアサーション コンシューマ サービス URL (SP SSO URL) は、そのパラメータをチェックして保存し、OAuth トークン交換のために何らかの方法で SFDC に送信する必要があります。または、SunSTS からアサーションを取得して、SAMLP 応答ラッパーを自分で作成します。

これは、SFDC が OAuth 2.0 用の SAML 2.0 Bearer Assertion Profiles の以前のドラフトを実装したためだと思います ( https://datatracker.ietf.org/doc/html/draft-ietf-oauth-saml2-bearer-10を参照) 。 .

その仕様の最新のドラフトでは、レスポンス ラッパーは必要ありません。SFDC がそれをサポートするように更新されていれば、SunSTS のアサーション自体が動作する可能性があります。

于 2012-02-22T20:56:20.427 に答える