如何在WSO2 Identity Server进行SAML SSO重定向后将查询参数传递给网页

时间:2014-05-27 08:15:58

标签: wso2 wso2is

如何在WSO2 Identity Server进行SAML SSO重定向后将查询参数传递给网页。我厌倦了通过扩展SAML SSO过滤器来保存会话中的参数。但是,在认证重定向之后,该会话数据也会丢失。

2 个答案:

答案 0 :(得分:2)

我想,您可以使用RelayState。当SAML请求发送到IS时,您可以发送带有RelayState参数的值,IS将以相同的值回复您的Web应用程序。您还可以将查询参数附加到ACS URL并使用SAML请求发送它。如果您的SAML请求已签名,则IS将重定向到SAM URL请求中的ACS URL。

答案 1 :(得分:1)

以及使用继电器状态,如上一篇文章所述,如果需要,可以使用SAML令牌中的属性

<saml:AttributeStatement>
        <saml:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" FriendlyName="Name">
            <saml:AttributeValue>Test</saml:AttributeValue>
        </saml:Attribute>
    </saml:AttributeStatement>
    <saml:AttributeStatement>
        <saml:Attribute Name="Mobile" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" FriendlyName="Mobile">
            <saml:AttributeValue>09009090909</saml:AttributeValue>
        </saml:Attribute>
    </saml:AttributeStatement>
    <saml:AttributeStatement>
        <saml:Attribute Name="Email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" FriendlyName="Email">
            <saml:AttributeValue>test@test.com</saml:AttributeValue>
        </saml:Attribute>
    </saml:AttributeStatement>

通过这种方式,您可以查询SAML,确保其有效,然后从属性部分获取信息并执行您想要的操作,无论是重定向还是需要额外处理。

希望有所帮助。