当前位置: 首页 > wzjs >正文

长春星宿网站建设公司怎么样网站片区

长春星宿网站建设公司怎么样,网站片区,wordpress主题git下载失败,免费网站建设哪个好目录 背景1. 白名单2. 黑名单3. 黑名单具体实现 背景 JWT 最大的一个优势在于它是无状态的,自身包含了认证鉴权所需要的所有信息,服务器端无需对其存储,从而给服务器减少了存储开销。但是无状态引出的问题也是可想而知的,它无法…

目录

  • 背景
  • 1. 白名单
  • 2. 黑名单
  • 3. 黑名单具体实现

背景

JWT 最大的一个优势在于它是无状态的,自身包含了认证鉴权所需要的所有信息,服务器端无需对其存储,从而给服务器减少了存储开销。但是无状态引出的问题也是可想而知的,它无法作废未过期的JWT。

例如注销场景下,就传统的 cookie/session 认证机制,只需要把存在服务器端的 session 删掉就OK了。但是JWT呢,它是不存在服务器端的啊,好的那我删存在客户端的JWT行了吧?不行!被你在客户端删掉的JWT还是可以通过服务器端认证的。

使用JWT要非常明确的一点:JWT失效的唯一途径就是等待时间过期。
但是可以借助外力保存JWT的状态,常用的方案有两种,白名单和黑名单方式。

1. 白名单

在 Redis 维护有效的 JWT。登录成功时将生成的 JWT 存入 redis,并按照 jwt 中的过期时间来设置存入 Redis 的过期时间。登出时将该 JWT从 redis 中删除。

这样在 JWT 校验之前先查询白名单中是否有该 JWT,如果有则表明是有效的,然后进入 JWT 校验与解析的逻辑。有点像有状态的 session 的味道了。

2. 黑名单

在 Redis 维护无效的 JWT。登出(注销)时,将 JWT 放入redis中,并且设置过期时间为 JWT 的过期时间;请求资源时判断该JWT是否在redis中,如果存在则拒绝访问。
白名单和黑名单这两种方案都比较好实现,但是黑名单带给服务器的压力远远小于白名单,毕竟登出(注销)不是经常性操作。

3. 黑名单具体实现

究竟向 Redis 中存储什么?

如果直接存储JWT令牌可行吗?当然可行,不过JWT令牌可是很长的哦,这样对内存的要求也是挺高的。
熟悉JWT令牌的都知道,JWT令牌中有一个jti字段,这个字段可以说是JWT令牌的唯一ID了。因此可以将这个 jti 字段存入redis中,作为唯一令牌标识。

如何实现呢? 分为两步:

  • 网关层的全局过滤器从 JWT 中解析出 jti 和过期时间,根据 jti 从redis中查询是否存在黑名单中,如果存在则直接拦截,否则放行;
  • 注销接口中将JWT的 jti 字段作为key存放到 redis 中,且设置为 JWT 的过期时间。

--------over
http://www.dtcms.com/wzjs/102762.html

相关文章:

  • 网络平台都有哪些甲马营seo网站优化的
  • 哪些行业做网站多一网信息一个简单便捷的新闻网站
  • 甘肃建设厅网站执业注册中心建站优化公司
  • 网站建设ps模板产品运营主要做什么
  • wap网站制作动态怎么创建网站赚钱
  • 常州企业自助建站系统长春seo公司
  • WordPress图片置顶重庆seo研究中心
  • 建设一个网站的具体流程长春网站建设方案优化
  • 做贸易的都有什么网站爱战网关键词查询网站
  • 纯mvc做的都有那些网站淘宝seo搜索优化工具
  • 免费做背景调查的网站网络推广公司有多少家
  • 幼儿园网站模板html嘉兴百度快照优化排名
  • 专做冷冻食品批发的网站网络营销具有哪些特点
  • 老河口网站设计seo搜索引擎优化是通过优化答案
  • 做网站编辑应该注意什么秦洁婷seo博客
  • 婚纱定制网站哪个好什么是电商
  • 绍兴做网站公司关键词排名优化易下拉软件
  • 专门做汽车内饰的网站项目推广网
  • 电焊网片宁波优化网站排名软件
  • 东莞免费网站制作网址域名大全2345网址
  • 洛阳网站建设价格谷歌浏览器网页版进入
  • 视频网站建设方案书免费网站推广产品
  • 苏州建设项目备案网站网络营销策略包括哪四种
  • 怎样自己做淘宝客网站岳阳seo
  • 跨境电商平台官网seoul是什么品牌
  • 怎样更新网站文章网络营销手段有哪些方式
  • bootstrap制作的网站页面网站营销策略有哪些
  • html标签二十条优化疫情措施
  • 服务商官网东莞seo计费管理
  • 找装修seo主要做什么工作