jwt token机制
1、登陆时生成token,格式为 A.B.C
如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0IjoidXNlciIsImlkIjoxLCJpYXQiOjE1Mjk0MDE2MTJ9.q1pSD7cKFd55i2nrs05XVOvD69BCTHjToXED7eB5YyY
即:
A:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
实际为header 的base64编码后的值,解码:
{"alg":"HS256","typ":"JWT"}
B:eyJ0IjoidXNlciIsImlkIjoxLCJpYXQiOjE1Mjk0MDE2MTJ9
实际为指定用户信息(playload)的base64编码后的值,解码:
{"t":"user","id":1,"iat":1529401612}
C:q1pSD7cKFd55i2nrs05XVOvD69BCTHjToXED7eB5YyY
实际为服务端存储secretKey和A.B进行sha256加密的值
2、登陆后任意请求需要验证token
实际就是从token解析出A.B和C,校验secretKey和A.B进行sha256加密是否等于C
也可进一步验证B中数据是否合理,比如授权用户信息,过期时间等