JWT令牌
透明令牌
随机生成,无法推算出令牌是如何办法和存储的,所有请求必须要到授权服务去检测一遍才能知道这个令牌是否有效
自包含令牌
由授权服务器颁发,包含用户的数据、声明式的检查、颁发者的信息、期望的接收人,可以再本地进行校验
jwt的组成
该对象是一个很长的字符串,通过.来进行分割为三个字符串!
JWT 头就是JWT 元数据的JSON对象
{
"alg": "HS256",
"type": "JWT"
.....
}有效载荷(具体的主体信息)
7个默认的字段:
发行人
到期时间
主题
用户
在此之前不可用
发布时间
jwt id
我们还可以自定义添加自己的信息
{
"name": "coding",
///...
}签名哈希
签名哈希 就是对上面两部分数据的签名,通过指定的算法,生成哈希,确保数据不会被篡改!
首先,需要指定一个密码(secret),保存到服务器中,不能向用户公开。根据某种算法,生成一个新的密码。