1

ADFS で 2 つの証明書利用者信頼 (App1、App2) を構成しました。SAML Web フローに従ってユーザーを認証した後、最終的に App1 は SAML トークン (SamlToken1) を取得しました。

現在の状況では、ユーザーのブラウザーはファイアウォールが原因で App2 にアクセスできないため、App2 は SAML トークンを取得できません。

私が考えた解決策は、提供された issuedtokenmixedasymmetricbasic256sha256 エンドポイント ADFS を介して WS-Trust を使用することでした。

手順 1. App1 を WS-Trust クライアントとして機能させ、RST (セキュリティ トークンの要求) を ADFS (エンドポイントに発行されたtokenmixedasymmetricbasic256sha256) に送信し、SOAP セキュリティ ヘッダーに SAMLToken1 を指定して、App2 として ApplyTo を設定します。

ステップ 2. ADFS は、RSTR 内の暗号化された SAML アサーションを App1 に返します。

ステップ 3. App1 は別の RST を App2 に送信し、暗号化された SAML アサーションをセキュリティ ヘッダーとして設定します。

ステップ 4. App2 は SAML トークンを取得できます。

最初のステップの ADFS を実行すると、「メッセージのセキュリティを検証中にエラーが発生しました」が返されますが、ADFS のトレース ログには「タイプ 'urn:oasis:names:tc:SAML:2.0:assertion' のトークンが正常に認証されました」のみが表示されます。 、ADFS にそれ以上のログは表示されません。

SOAP UI を使用して SOAP 呼び出しを行っています。issuedtokenmixedasymmetricbasic256sha256 を使用して ADFS に SAML トークンを送信し、別の SAML トークンを交換する方法を知りたいです。

RST:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:ns="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
    <soap:Header>
        <a:Action soap:mustUnderstand="1">http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue</a:Action>
        <a:To soap:mustUnderstand="1">https://ADFS_URL/adfs/services/trust/13/issuedtokenasymmetricbasic256sha256</a:To>
        <o:Security soap:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" ID="_7d723310-961e-417a-bb94-ee32dad0a48c" IssueInstant="2016-11-22T06:03:43.454Z" Version="2.0">**SAML Token 1</Assertion>
        </o:Security>
    </soap:Header>
   <soap:Body>
        <trust:RequestSecurityToken xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
            <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
                <a:EndpointReference>
                    <a:Address>App2</a:Address>
                </a:EndpointReference>
            </wsp:AppliesTo>
            <trust:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</trust:KeyType>
            <trust:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</trust:RequestType>
            <trust:TokenType>urn:oasis:names:tc:SAML:2.0:assertion</trust:TokenType>
        </trust:RequestSecurityToken>
   </soap:Body>
</soap:Envelope>

4

0 に答える 0