Token验证缓存怎么处理?

问题描述

现在需要弄个token验证,客户端递交客户端id和客户端密钥,服务端审核通过后则从配置文件中获取配置的过期时间,然后生成一个GUID做为access_token,把这个access_token存到缓存,并设定该缓存的过期时间。最后将access_token与过期时间组装成JSON返回给客户端。

需要解决的问题

怎么弄这个缓存区,并且设置过期时间,是用redis吗?怎么实现?就是最简单的验证,怎么把UUID和时间存在缓存,然后让查找验证,过期就返回401重新获得token。
阅读 7k
3 个回答

放Redis, Redis存值的时候天然的可以设置过期时间,不需要做其他额外判断。
验证的时候直接去Redis取值,如果没有值就当过期了,返回前端
存储token的话,其他缓存都是可以的,Map也可以,但是内存的缓存都有一个问题一旦就是服务重启了,之前的token就都丢了

如果是单机服务自己尝试,可以考虑直接放在程序的内存里面,使用 Google 的开源工具,Guava。比如这篇文章的说法
https://mp.weixin.qq.com/s/d3...
如果是集群,考虑使用 Redis,同样的道理,直接使用 k-v 的形式存储,设置一个过期时间,查看是否存在即可判断是否有效

setex 设置过期时间
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题