JWT

一、什么是JWT?

  (1) JWT是一种跨域认证解决方案

二、JWT解决了什么问题?

  (1) 数据传输更加简单和高效

  (2) JWT会生成签名,保证传输的安全

  (3) JWT具有时效性

  (4) JWT更高效利用集群做好单点登录

三、JWT原理

  (1) 服务器认证和,生成一个JSON对象,后续通过JSON进行通信

四、JWT数据解构

  (1) Header(头部)

    Header解构

{

  "alg":"HS256", // 加密的算法
  "typ":"JWT" // 加密的类型

}

 

  (2) Payload(负载)

    iss (issuer): 签发人

    exp(expiration time):过期时间

    sub (subject):主题

    aud (audience):受众

    nbf (Not Before):生效时间

    iat(Issued At):签发时间

    jti (JWT ID): 编号

    可以从中挑选一些放进去,也可以添加一些自定义的数据

  (3) Signature(签名)

    HMACSHA256(base64UrlEncode(header)+"."+base64UrlEncode(payload),secret)

    secret:密钥

  JWT TOKEN = Header.Payload.Signature

 

五、JWT使用方式

  (1)/api?token= xxx

  (2)cookie 写入 token

  (3)storage写入token,请求体添加:Authorization:Bearer <token>

posted @ 2021-07-04 15:33  LJLong  阅读(115)  评论(0)    收藏  举报