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 具体实现会讲。