JSON Web Token
jwt 由头部、载荷、签名三部分通过.
分割共同组成,头部是表明使用的编码类型。
长度不超过128
组成形式为
xxx.yyy.zzz
头部和载荷使用Base64编码,签名必须要有已编码的头部和已编码的有效载荷,使用头部声明的算法把密钥签在上面,就形成第三部分签名。
例如使用HMAC SHA256
算法:
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
jwt 是明文密钥,但是机制使得不能被篡改。一次签发永久有效,不过可以设置过期时间,但是过期时间前都是有效的
所以要防止被截取。
处理方法:
- 使用 HTTPS 协议
- 代码层面验证,比如ip地址,mac地址