JWT认证概念

JWT 介绍

JWT 即 JSON Web Token,是用 JSON 形式安全传输信息的方法。

我们可以在 jwt.io 上在线解析 token,可以清楚看懂 JWT 的数据结构。

对 JWT 解码,可以得到以下内容:

  • Header:TOKEN 的类型,就是JWT,签名的算法,如 HMAC、 SHA256
  • Payload:携带的信息,比如用户名、过期时间等,一般叫做 Claim
  • Signature:签名,是由header、payload 和你自己维护的一个 secret 经过加密得来的。

JWT 可以设置过期时间,它的应用主要有:

  • Access Token:添加到 HTTP 请求的 header 中,进行用户认证。加上过期时间可以让 token 被恶意截获后,黑客只有短暂的时间攻击。

  • Refresh Token:用来给客户端申请新的 Access Token 或者 Refresh Token。比 Access Token 有更长过期时间。

一般服务端生成 JWT 并返回给客户端时,要放在 cookie里,并且加上 HttpOnly 的标记,意味着这个 cookie不能被 JS获取,这样可以防止 XSS 攻击。

上一篇:大白话讲解OAuth2.0的客户端模式Client Credentials


下一篇:【ECCV2020】Spatially Adaptive Inference with Stochastic Feature Sampling and Interpolation