关于jwt token鉴权的一些理解

token 中文译 “令牌”,是一种由服务端生成的字符串,颁发给客户端使用的鉴权机制。
客户端获取到一个token后,以后无需带上用户名和密码,只需带上token即可。
身份认证论述:
HTTP是无状态协议,服务端并不清楚是谁请求了它,只有客户端带上用户的账号密码,服务端通过验证后才清楚到底是那个用户请求了它,本次请求完结后,再次请求又需要重新认证。
通用的解决办法是:用户第一次通过认证后,服务端生成一条记录,并将记录id放回给客户端,(类似与session_id),之后客户端每次请求带上这个id,服务端只需要检索这个id,找到了这条记录,就说明用户已经通过身份验证。
关于token认证的论述:
token认证的流程:用户第一次登录服务端,服务器根据用户的私有信息,时间戳,签名算法,私钥 通过算法生成token并返回给客户端,之后客户端请求只需要带上这个token即可,服务端只需对这个token进行解析,即可得知那个用户进行了操作。
私有信息: 一般为用户的信息,用户的标识等
时间戳: 当前时间
私钥: 这个比较重要,服务端自有信息。 生成token 解密时候需要它。就相当于一把锁的钥匙,用它锁上的信息,也只有用它才能解锁。不然客户端自己也可以生成token了
直接上代码:
在这里插入图片描述
JWTUtils.java

/**

  • ToKen工具类

  • JWT生成
    */
    @Component
    public class ToKenUtil {

    /**

    • 生成Jwt

    • 使用Hs256算法 私匙使用固定私钥

    • @param timeOut jwt过期时间

    • @return
      */
      public static String createJWT(long timeOut,Map claims) {

      //指定签名的时候使用的签名算法
      SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256;

      //生成JWT的时间
      long nowMillis = System.currentTimeMillis();<

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值