摘要
jwt token 前后端的交互逻辑,此部分只描述了一些交互逻辑,不涉及到真实应用的开发。
token的格式
token=header+‘.’+payload+‘.’+sign
第一次登陆的时候
- 判断http请求头中是否包含Authorization
- 不包含则提示用户未登录
- 当用户登录后,后端生成token返回给前端,生成token逻辑如下
- 生成header
header = {
“alg”: “DES”,
“typ”: “JWT”
}
header_str_64 = base64.encode(header_str)- 生成payload
payload = {
“user_id”:“xx”,
“effective_time”:“过期时间”
}
payload_str_64 = base64.encode(header_str)- 对payload_str_64进行AES加密生成签名
sign=generateSign(payload_str_64)- 生成token
token=header_str_64 + ‘.’ + payload_str_64 + ‘.’ + sign
后端token校验
-
获取Authorization 中的token
-
解密进行签名验证
header_str_64 ,