如何使用IdentityServer4实现会话登录/注销注册?

问题描述

我们正在将使用Microsoft.Owin.Security.OAuth的OAuth2实现迁移到使用IdentityServer 4的OpenID Connect实现中。

使用OAuth2解决方案,当使用资源所有者密码凭据授予流成功登录时,我们正在数据库注册用户会话。当用户在客户端应用程序中注销时,令牌被吊销,并且我们使用注销时间戳记更新会话记录,并说明“注销”。

每次用户使用刷新令牌刷新访问令牌时,我们都会更新该会话上的活动时间戳记(刷新令牌也与会话相关)。后台任务会定期检查“非活动会话”,并以“会话已过期”原因更新会话记录的注销时间戳记

现在,我们使用带有PKCE,无提示刷新以及ASP.NET Identity Core的IdentityServer 4授权代码流。客户端(目前只有一个客户端在使用它)是Angular SPA,它将oidc-js用于OpenID Connect逻辑。

是否可以通过IdentityServer 4完成上述功能(尤其是检测“过期的会话”,而该会话已由客户端应用注销)?或者,我是否最好在客户端应用中建立自己的逻辑(这不是可取的,因为我们还希望将来的客户端应用程序具有相同的功能,并获得用户何时登录特定应用程序以及访问该应用程序多长时间的概述)?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)