JWT( JSON Web Token)

时间:2023-03-09 17:42:19
JWT( JSON Web Token)

参考  https://laravelacademy.org/post/9469.html

三部分组成,头部、载荷与签名

头部 把下面的基本信息base64 加密生成头部信息   

{
"typ": "JWT",
"alg": "md5"
}

载荷 把下面的基本信息base64 加密生成载荷

{
"sub": "1",       //该 JWT 的签发者
"iss": "http://host/group/invite",
"iat": 1451888119,    //在什么时候签发的 token
"exp": 1454516119,    //token 什么时候过期
"nbf": 1451888119,    //token 在此时间之前不能被接收处理
"jti": "37c107e4609ddbcc9c096ea5ee76c667", //token 在此时间之前不能被接收处理
"group_id": 1,
"invite_user": "A"
}
签名 头部.载荷 使用 . 进行拼接(头部在前), 得到用于签名的字符串,然后使用签名方法对用于签名的字符串进行签名.
最后把用于签名的字符串和签名使用 . 进行拼接(签名在后), 即可得到 一个完整的 token。但是,此时的 
token 没有带上签发者特有的标志,是可以被伪造的,至于如何解决这个问题我们下面 jwt 具体实现会讲。