jwt token 过期,jwttoken过期刷新

  jwt token 过期,jwttoken过期刷新

  00-1010JWTToken使用以下是具体步骤。三个常量就是这段,就是生成一个usertoken。

  

目录

我最近在做一个app,登录验证是基于jwt令牌验证的。今天就录下来吧。

 

  00-1010 1.添加jar包

  然后是jwt token的具体实现。

  00-1010服务器中存储的密钥jwt令牌的有效时间刷新令牌的有效时间。

  Jwt内置了许多加密代码。我在这里使用Hs256加密,并使用我自己的唯一密码来生成密钥。

  00-1010jwt令牌由三部分组成:头部、有效载荷和标志。Header用于设置您自己的令牌的类型和代码。有效负载储存用户的安全信息。因为JWT提供的代码是可逆的,所以不要存储用户的关键信息。sign是令牌的签名,由报头、有效负载和密钥决定。当客户端发送密钥时,只需检查签名是否正确。

  这段代码和上图的方法一样,主要用来刷新令牌。本来刷新时间应该存储在redis中,但是我条件有限,只能先存储在数据库中。

  令牌的验证从传递的令牌中获取有效载荷,重新生成令牌,获取新令牌的签名sign,将新签名与旧签名进行比较,当两个签名一致时通过验证。

  这段代码与前一段代码的方法相同。即使有一个符号不一致,也说明客户端令牌被篡改了,直接返回null。当在拦截器中判断为空时,会直接返回登录界面。

  当t oken过期 ExpiredJwtException e 会自动捕获,我们在捕获到这个异常时,进行令牌的刷新,然后返回这个新的令牌

  如果两个标志一致,原始令牌将直接返回。

  令牌的刷新取出先前存储在数据中的刷新有效时间,将其与当前时间进行比较,如果它小于当前刷新有效时间,则刷新令牌,然后更新数据库并返回新的令牌串,

  如果用户长时间不使用app,导致当前时间超过令牌刷新时间,则删除数据库中对应的数据,令牌返回null

  客户端的令牌是在请求头中发送到后台的,所以需要从heaer中取出。

  像这样得到令牌,就需要根据空格截取这个字符串,才能得到真正有用的令牌。

  我们得到支票返回的字符串。当该字符串为空时,客户端返回登录界面。

  当两个令牌不相等时,意味着验证返回的令牌是新的,所以我们将响应头中的令牌修改为新的令牌,然后程序继续执行。

  .

  第一次用jwt,对jwt安全性还是不太了解.我得先做这件事。

  以上个人经验,希望能给大家一个参考,也希望大家能支持盛行的IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: