当用户查看 SP 并单击“登录”按钮时,将打开一个指向 IDP 登录表单的弹出窗口。在用户提供他们的用户名/密码并在弹出窗口中提交登录表单后,假设凭据有效,我如何才能将 IDP 生成的 SAML 断言返回给 SP。我可以使用 window.postMessage 吗?
问问题
1982 次
1 回答
1
IDP 的响应(包括 SAML 断言)将发送到Assertion Consumer Service URL
您的 SP。此时,您可以使用它做任何您想做的事情,并假设 SAML 断言是正确的,在 SP 级别创建一个经过身份验证的登录会话。
根据您的用例,您现在可以退出弹出窗口并刷新(可能部分刷新)父窗口,以便它将获取登录的用户。您可以使用windows.opener对象在父窗口上调用函数。的主要用途window.postMessage
是在跨域的窗口/框架之间发送数据。但是因为您在 SP URL 上接收响应,所以您不需要这个。
根据您的故事,我想知道您是否通过向IDP发送AuthnRequest来执行 SP 发起的 SSO?
于 2013-10-20T09:02:03.137 回答