ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JWT消息构成

2022-02-01 23:06:27  阅读:151  来源: 互联网

标签:sub JWT 默认 消息 SHA256 部分 构成 签名


一个token分3部分,按顺序:

  • 头部(header)
  • 载荷(payload)
  • 签证(signature)

头部

  • 声明类型,这里是jwt
  • 声明加密的算法 通常直接使用 HMAC SHA256

载荷

Payload 部分也是一个 JSON 对象,用来存放实际需要传递的数据。JWT 规定了7个官方字段,供选用。

  • iss (issuer):签发人
  • exp (expiration time):过期时间
  • sub (subject):主题
  • aud (audience):受众
  • nbf (Not Before):生效时间
  • iat (Issued At):签发时间
  • jti (JWT ID):编号

除以上默认字段外,我们还可以自定义私有字段,如下例:

{ 
"sub": "1234567890", 
"name": "chongchong", 
"admin": true
 }

注意,JWT 默认是不加密的,任何人都可以读到,所以不要把秘密信息放在这个部分。

签名

Signature 部分是对前两部分的签名,防止数据篡改。 首先,需要指定一个密钥(secret)。这个密钥只有服务器才知道,不能泄露给用户。然后,使用 Header 里面指定的签名算法(默认是 HMAC SHA256)

算出签名以后,把 Header、Payload、Signature 三个部分拼成一个字符串,每个部分之间用"点"(.)分隔,就构成整个JWT对象TOKEN, 就可以返回给用户。

标签:sub,JWT,默认,消息,SHA256,部分,构成,签名
来源: https://blog.csdn.net/L___K__/article/details/122766915

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有