如何在WSO2 Identity Server进行SAML SSO重定向后将查询参数传递给网页。我厌倦了通过扩展SAML SSO过滤器来保存会话中的参数。但是,在认证重定向之后,该会话数据也会丢失。
答案 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,确保其有效,然后从属性部分获取信息并执行您想要的操作,无论是重定向还是需要额外处理。
希望有所帮助。