我已经为IdentityServer
配置了几个客户端,其中一些是使用Hybrid flow
的本机应用程序(桌面,iOS,并不重要)。
我想强制退出超过X分钟的用户,如果可能,再次重定向到登录页面。
我可以通过使用带有RefreshTokenExpiration = true
和SlidingRefreshTokenLifetime = *DesiredTimeoutTime*
的短期刷新令牌来实现此目的,并且在每次调用API之前,客户端首先刷新用户的访问令牌。实际上,这会将会话管理空闲超时重载到刷新令牌的到期时间
但这不是它的设计使用方式。刷新令牌应该是长寿命的。
而且,对于API的每次调用,客户端都会刷新它的访问令牌,因为我使用持久性存储来获取我的授权(特别是使用内置EF的SQL Server)支持),这意味着我在ID数据库上的表现比我想要的要多。
我指定我使用的是本机应用程序,因为我知道它(可能)可以使用cookie实现基于浏览器的应用程序,但同样,那些与本机应用程序不能很好地工作(对于我所知道的所有知识)如果我错了,请随时纠正我。如果有可能以某种方式实现饼干 - 我很乐意听到。
一般来说,我对Identity.Application cookie
与Access Token
的关系缺乏了解。这有点令人困惑。
无论如何,我正在寻找更优雅的解决方案,如果有的话 感谢。