我们将 SustainSys.Saml2 与 IdentityServer4 结合使用。
我们在这个问题中概述了以下工作流程收到 OneLogin 的 SAML 响应后如何维护 returnurl https://stackoverflow.com/questions/52953555/how-to-maintain-returnurl-after-receiving-saml-response-from-onelogin
当我们发出一个ChallengeAsync
就在我们被重定向到 OneLogin 以验证用户并发送回 SamlResponse 之前,我们看到我们的 AuthenticationProperties 被传递到 SustatinSys 库代码,并且它设置了 relayData 和 returnPath,但是当 OneLogin 发回给我们时,relaystate 不是我们的 returnurl/relayData指定的。我们相信这是从这里产生的价值https://github.com/Sustainsys/Saml2/blob/master/Sustainsys.Saml2/RelayStateGenerator.cs https://github.com/Sustainsys/Saml2/blob/master/Sustainsys.Saml2/RelayStateGenerator.cs作为 SamlAuthenticationRequest 创建的一部分。
是否应该将我们创建的中继数据传递给 SamlAuthenticationRequest,以便我们可以在成功登录后作为 SamlResponse 的一部分读取它,或者我们是否做错了什么,需要在其他地方设置一些选项,以便我们可以读取中继状态?
在调用 Idp 期间,您传递给 AuthenticationProperties 的relayData 和 returnPath 会保存在加密的 cookie 中。实际Saml2交换中的RelayState是一个随机字符串,也是cookie的名称。处理 Saml 响应时,将读取 cookie 的内容并恢复 AuthenticationProperties(包括 ReturnUrl)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)