2016-07-22 97 views
1

的我们已经使用IdentityServer4登录用户从多个IdentityServer客户

https://github.com/IdentityServer/IdentityServer4

一个项目,我们有3个领域:authadminwww

IdentityServer运行在auth,其他两个都是'客户的。

  • www使用混合流量(饼干)
  • admin采用了隐式流量(这是一个SPA,使用OIDC客户端)

我们必须托管在auth一个登录页面。当用户登录时,他们被带到www。某些用户可以访问admin,他们将在导航中看到链接。

当您登录后,当您访问管理员时,您可以看到自动发生身份验证并返回到回调URL。这一切工作正常。

但是,如果我从admin注销,我仍然可以访问www,反之亦然。理想情况下,我们希望注销可以一次将用户从两个客户端中注销。

这可能吗?


注:我对这个项目的前端开发人员,所以究竟是谁实现了它可以提供在下面的评论的其他详细信息的人。

回答

1

是的,这是可能的。

为idsrv4该文档还没有完成 - 但它的工作原理非常类似这样的

https://identityserver.github.io/Documentation/docsv2/advanced/signout.html

这是JS https://openid.net/specs/openid-connect-session-1_0.html

..和对网络的signout规范的实现应用程序 https://openid.net/specs/openid-connect-frontchannel-1_0.html

您需要阅读这些文件以了解机制

+0

谢谢多米尼克。你知道iframe check_session_iframe postMessage方法是否支持oidc-client-js? –

+0

我在这里添加了一个问题:https://github.com/IdentityModel/oidc-client-js/issues/67 –

+0

即使我正在检查其他客户端会话的状态,这个工作是否应该正常工作? –