客户端一定时间未操作网页数据后,再进行操作时,自动注销;
如果客户端一直在进行数据操作则登录状态一直保持
AbsoluteRefreshTokenLifetime时强制token失效,不能满足要求
求教解决方案
你直接设置TOKEN的过期时间短一点 然后在客户端过期但是操作的时候刷新Token 将当前Token有效期往后延 过期未操作 则Token自然失效就可以。
操作的时候刷新,可以给点例子吗?
@火红的岁月: 例子我暂时没有 那就类似于设置一个全局的过滤器 本地操作发起请求的时候 检测当前token未过期 则自动刷新token 保存新的token 应该就可以满足你的需求
这个其实是个客户端与服务器端交互的问题,可以参考这个
https://github.com/aspnet/Security/blob/22d2fe99c6fd9806b36025399a217a3a8b4e50f4/samples/CookieSessionSample/MemoryCacheTicketStore.cs
简单来说,就是用户登录状态存储为CookieSession方式,客户端保存一个cookie id,服务器端将对应的cookie内容存起来,每次有请求需要解析cookie id时,设置一个slide expiration,缓存过期后会找不到cookie,自然就达到注销的效果,分布式推荐使用redis存储
自动注销是过期了吧。identityserver 里面有 tokenClient.RequestRefreshTokenAsync