与身份服务器并发登录4

时间:2019-05-07 11:06:28

标签: identityserver4

当用户登录其他浏览器时,希望从所有其他会话中注销。 我可以删除PersistedGrants,但cookie仍然存在。 当用户刷新页面时,由于refresh_token会生成新的access_token。 因此,基本上我们只需要一个用户的并发会话。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

默认情况下,IdSrv将用户会话保留在cookie中。您可以通过实现IUserSession并在DI中注册来更改它。这样一来,您就可以在一个会话中访问已登录的客户端。有了这些知识,您可以使用以下检查注册您的自定义中间件:通过身份验证后,即具有身份验证cookie,对于同一用户ID,其他会话,然后确定,否则,将处理冲突:较早登录的人退出了。只是一个想法,但应该可以。 See my customization的DefaultUserSession-将其备份到Redis,用于其他目的,但足以证明该方法。