Java JWT认证

一、组成

  1、header(头部):

    {

      Typ="jwt"    ---类型为jwt

      Alg:"HS256"    ---加密算法为hs256

    }

  2、playload(携带的数据):

    iss:jwt签发者

    sub:jwt所面向的用户

    aud:接收jwt的一方

    exp:jwt的过期时间,必须大于签发时间

    nbf:定义在什么时间之前,该jwt都是不可用的

    iat:jwt的签发时间

    jti:jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击

    以上为标准中注册的声明,建议但不强制使用,不能存放敏感数据

 

    例:{

        "userId":"1234"

        "userName":"lly"

      }

  3、Signature(验证签名)

    通常使用单向加密算法进行生成,将payLoad+盐值进行加密

二、优缺点

  1、无需在服务端存放用户数据,减轻服务端压力

  2、轻量级,风格简单

  3、跨语言

  4、一旦生产无法修改

  5、无法更新jwt有效期

  6、无法销毁一个jwt

posted @ 2021-10-28 11:49  九月的昵称  阅读(339)  评论(0)    收藏  举报