我们正在实施SAML集成,我是服务提供商,我的身份提供商要求我发送" SAML消费者网址"和" RelayState"
我需要帮助才能了解什么是SAML消费者网址& RelayState以及如何为我的应用程序获取/生成它。
感谢您的时间和帮助!
答案 0 :(得分:1)
TLDR,AssertionConsumerUrl(ACS)端点是SAML协议端点,RelayState类似于跨域cookie,用于协调IdP和SP的消息和操作。
在SAML 2.0 Technical Review的5.1.Web Browser SSO Profile
中,它会让您大致了解流程的进展情况。
直到SSO实施,例如Shibboleth
,此FlowAndConfig doc详细说明了SSO流程。
在2. SP Determines IdP and Issues Authentication Request
:
SP设置的Cookie
在此步骤中,SP将保留原件 浏览器使用“中继状态”机制请求的资源, 由
<SessionInitiator>
上的relayState属性配置 元件。默认机制不再依赖于cookie, 但许多系统都这样做,并发送一个包含该状态的状态管理cookie 客户端的资源URL以及为IdP准备的请求 或DS / WAYF。
在5. Back to the SP
:
浏览器将IdP的响应传递给SP的Assertion Consumer Service端点。
relay state
信息从IdP返回到SP
SP读取Cookie
IdP返回的“中继状态”信息(如果有)将具有 由SP创建,如果使用cookie,将指向a 应该伴随身份验证的特别命名的cookie 在此步骤中提供给ACS端点的响应。这是cookie 在上面的步骤2中设置。如果缺少此cookie(或者没有中继状态 完全存在),关联应用程序的homeURL属性是 取而代之的是后退。
另外,Shibboleth也有这两个术语的维基。
希望它有所帮助!