JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.
上述是jwt的官网的介绍,简单来说,使用jwt,可以安全地传输信息,jwt可以被验证。在我们的系统里,jwt主要用于授权。
jwt结构
JWT由三部分组成,分别是Header、Payload、Signature,中间使用点进行分隔。
JWT第一部分是头部分,它是一个描述JWT元数据的Json对象,通常如下所示。
{
"alg": "HS256",
"typ": "JWT"
}
alg属性表示签名使用的算法,默认为HMAC SHA256(写为HS256),typ属性表示令牌的类型,JWT令牌统一写为JWT。
最后,使用Base64 URL算法将上述JSON对象转换为字符串保存。
JWT第二部分是Payload,也是一个Json对象,除了包含需要传递的数据,还有七个默认的字段供选择。
分别是,iss:发行人、exp:到期时间、sub:主题、aud:用户、nbf:在此之前不可用、iat:发布时间、jti:JWT ID用于标识该JWT。
JWT第三部分