这篇文章是对网络上相关信息的总结,详情可以参考《JSON Web Token 入门教程》

http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html

使用JWT

JWT作为一道具有过期时间的令牌存储在Cookie或localStorage,与服务器通信时都会捎带上。既可以写在Cookie里,也可以放在HTTP头中,还可以写在具体的请求里。

JWT结构

JWT由3个JSON对象组成,最终的JWT是经过转码(参考Base64)的字符串。

Header

键包括alg(algorithm)与typ(type),指出了签名算法与令牌类型。

Payload

JWT传输的信息,键包括生效时间、过期时间、签发人等。

Signature

在服务器上用密钥生成Header与Payload的签名,防止JWT信息被篡改。

JWT注意事项

  • JWT默认不加密,有需要可以加密
  • 如果不加密,建议使用HTTPS协议防止被盗用
  • JWT有效时长无法更改,不建议设置时间太长