首页新闻找找看学习计划

.net IdentityServer4 注销

0
悬赏园豆:100 [待解决问题]

客户端一定时间未操作网页数据后,再进行操作时,自动注销;

如果客户端一直在进行数据操作则登录状态一直保持

AbsoluteRefreshTokenLifetime时强制token失效,不能满足要求

求教解决方案

火红的岁月的主页 火红的岁月 | 初学一级 | 园豆:102
提问于:2018-06-13 17:55
< >
分享
所有回答(2)
0

你直接设置TOKEN的过期时间短一点  然后在客户端过期但是操作的时候刷新Token  将当前Token有效期往后延  过期未操作  则Token自然失效就可以。

小张同学~ | 园豆:26 (初学一级) | 2018-06-14 16:23

操作的时候刷新,可以给点例子吗?

支持(0) 反对(0) 火红的岁月 | 园豆:102 (初学一级) | 2018-06-14 18:24

@火红的岁月: 例子我暂时没有  那就类似于设置一个全局的过滤器  本地操作发起请求的时候  检测当前token未过期  则自动刷新token  保存新的token  应该就可以满足你的需求

支持(0) 反对(0) 小张同学~ | 园豆:26 (初学一级) | 2018-06-15 09:03
0

这个其实是个客户端与服务器端交互的问题,可以参考这个  

https://github.com/aspnet/Security/blob/22d2fe99c6fd9806b36025399a217a3a8b4e50f4/samples/CookieSessionSample/MemoryCacheTicketStore.cs

简单来说,就是用户登录状态存储为CookieSession方式,客户端保存一个cookie id,服务器端将对应的cookie内容存起来,每次有请求需要解析cookie id时,设置一个slide expiration,缓存过期后会找不到cookie,自然就达到注销的效果,分布式推荐使用redis存储

南昌炒粉 | 园豆:714 (小虾三级) | 2018-06-21 15:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册