【发布时间】:2021-07-10 17:16:48
【问题描述】:
当用户未在 IDP SSO 中进行身份验证时,我们如何将额外的参数(我们作为查询参数发送到结束会话端点)传递给注销
我正在使用最新的 Identity Server 4。
在标准情况下,当客户端启动注销(通过访问 endsession 端点)时,一切正常当我们有关于用户的信息(存储在 cookie 中并且 endsession 端点可以成功读取那)。 EndSession 重定向到 https://myidp/Account/Logout?logoutId=someId,我们可以获取在查询字符串中传递给 endsession 端点的任何参数
但是当我们尝试从客户端进行第二次注销时(并且 cookie 中没有经过身份验证的用户),logoutId 参数没有传递到 Logout 端点并且没有机会获得我们的参数在查询字符串中发送到结束会话端点
我们需要这个的原因很简单:
- 假设客户在 2 个不同的页面(客户的页面)上单击了两次注销
- 当用户注销时,我们希望将其重定向回客户端 URL,或者根据我们发送到 endsession 端点的参数添加一些额外的逻辑。但是由于我们在 Logout 方法中没有得到任何参数 - 我们对客户端以及如何处理此注销请求一无所知
【问题讨论】:
标签: single-sign-on identityserver4 openid-connect