ToB企服应用市场:ToB评测及商务社交产业平台

标题: JWT基础概念详解 [打印本页]

作者: 一给    时间: 2022-10-22 23:13
标题: JWT基础概念详解
JWT基础概念详解

JWT介绍

之前我们文章讲过分布式session如何存储,其中就讲到过Token、JWT。首先,我们来回顾一下使用Token进行身份认证。
JWT是token的另一种方式,又有很多不同点。JWT全称是JSON Web Token,它的本质是一个字符串,它里面包含数据和签名,接下来我们看看JWT是如何进行身份认证的。
JWT组成

JWT主要由3部分组成,分别是Header、payload、signature。下面我们具体讲讲每部分的作用。
Header

Header主要存储token类型和签名算法相关信息,例如
  1. {
  2.   "alg": "HS256",
  3.   "typ": "JWT"
  4. }
复制代码
然后会把这个json字符串使用Base64进行编码,作为JWT的Header部分。
Payload

Payload主要是存储信息的,里面可以存储业务数据或者用户信息, JWT有以下7个默认字段可以选用。
下面我们举个例子
  1. {
  2.   "sub": "123456",
  3.   "username": "admin"
  4. }
复制代码
上面的json字符串会使用Base64进行编码,作为JWT的Payload部分,Payload部分默认是不加密的,所以一定不要把隐私信息放在Payload当中。
Signature

Signature是对上面两部分的数据的签名,对上面的Header和Payload数据,通过指定的算法生成Hash,防止数据被篡改。下面是签名的计算公式
HMACSHA256(base64UrkEncode(header) + "." + base64UrlEncode(payload), secret)
在计算出签名后,将上述的Header、Payload和Signature连接成一个字符串,中间使用"."进行分隔,这个就是最终的JWT。
JWT和Token区别

原文链接:https://monkey.blog.xpyvip.top/archives/jwt-ji-chu-gai-nian-xiang-jie

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4