如何使用ADFS的isstokenmixedasymmetricbasic256sha256端点?

时间:2016-11-22 06:49:30

标签: saml adfs ws-trust

我在ADFS中配置了2个依赖方信任(App1,App2),在SAML Web流程之后进行用户身份验证后,最终App1获得了SAML令牌:SamlToken1。

目前的情况是,由于防火墙,用户的浏览器无法访问App2,因此App2无法获取SAML令牌。

我认为使用WS-Trust通过authortokenmixedasymmetricbasic256sha256端点ADFS提供的解决方案:

步骤1.使App1充当WS-Trust客户端,向ADFS(端点issuedtokenmixedasymmetricbasic256sha256)发送RST(请求安全性令牌),使用SOAP安全性头中的SAMLToken1,将ApplyTo设置为App2。

步骤2. ADFS在RSTR中将加密的SAML断言返回给App1

步骤3. App1向App2发送另一个RST,将加密的SAML断言设置为安全头。

步骤4. App2可以获取SAML令牌。

当执行第一步时,ADFS返回"在验证消息的安全性时发生错误",ADFS的跟踪日志仅提供"类型' urn:oasis的标记:名称:TC:SAML:2.0:断言'已成功通过身份验证",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>
&#13;
&#13;
&#13;

0 个答案:

没有答案