【发布时间】:2019-02-15 01:21:53
【问题描述】:
我在我的 Angular 应用程序中使用 OIDC Client 对身份服务器 4 进行身份验证。一切正常,直到我点击退出。
我已启用监控会话(默认启用),以便其他浏览器可以检测到注销,并且我可以在同一浏览器的其他选项卡中注销用户。当我从一个选项卡中注销时,另一个选项卡会向身份服务器发出请求以获取静默刷新令牌,并获得成功。我希望其他浏览器也能注销。如果我在另一个选项卡中按 F5,那么是的,它会被重定向到再次登录。但不是自动的。
【问题讨论】:
-
您配置或使用的授权流程是什么?您是否配置了注销 URL?
-
我正在使用隐式流。注销 URL 已正确设置。当我从一个选项卡注销时,另一个选项卡正在检测并调用silent_refresh.html,它说需要登录。这可以。但是我在用户管理器上注册的事件没有触发。我已经注册了 userUnloaded 和 UserSignedOut 事件。但那些没有开火。
-
我会建议你为什么在点击注销按钮时不使用 OIDC signoutRedirect(),然后调用 clearStaleState()。而不是触发事件。如果有的话,还要检查 iframe 的错误吗?按照建议粘贴代码。
标签: redirect identityserver4 logout oidc-client-js