我正在实施 SSO,其中我是身份提供商,现在我能够成功登录服务提供商。但它带我到主页。我想在发布响应时指定着陆页 URL。
进行了很多搜索,但找不到任何令人信服的东西。
不太清楚 SAML 响应的哪个元素带有登陆页面 URL 或者是我必须指定的形式。使用 java 和 opensaml 库生成响应。
尽管它不在 SAML 规范中,但事实上的标准是使用RelayState
元素。除了以下内容之外,它还作为参数添加到响应中SAMLResponse
的参数和值landing
网址。示例 HTML 页面来自http://en.wikipedia.org/wiki/SAML_2.0对于 IDP 使用POST
响应的绑定:
<form method="post" action="https://sp.example.com/SAML2/SSO/POST" ...>
<input type="hidden" name="SAMLResponse" value="<response>" />
<input type="hidden" name="RelayState" value="<url>" />
...
<input type="submit" value="Submit" />
</form>
Edit:
需要明确的是,RelayState
参数声明is规格的一部分,包含它是为了允许通过随意的SP 和 IDP 之间的状态。使用它来传递定义登陆页面的 URL 并未在规范中定义,但实际上是标准用法。任何使用RelayState
IDP-init-SSO 中的协议取决于 IDP 和 SP 之间的成对协议,而这只是一个有意义、有用的协议,因此已被广泛采用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)