将用户登录到多个IdentityServer客户端

时间:2016-07-22 17:04:40

标签: asp.net-core identityserver4

我们有一个使用IdentityServer4的项目

https://github.com/IdentityServer/IdentityServer4

我们有3个域:authadminwww

IdentityServer在auth上运行,另外两个是“客户端”。

  • www使用混合流(Cookie)
  • admin使用隐式流程(它是SPA,使用oidc-client)

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

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

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

这可能吗?

注意:我是这个项目的前端开发人员,所以实际实施它的人可能会在下面的评论中提供更多详细信息。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。

idsrv4的文档尚未完成 - 但它的工作原理与此类似

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

这是JS的注销规范的实现 https://openid.net/specs/openid-connect-session-1_0.html

..和网络应用程序 https://openid.net/specs/openid-connect-frontchannel-1_0.html

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