原理
JWT的原理是服务端认证之后,生成一个json对象回传用户。这个json对象包含一定的用户信息,为了防止数据被篡改,json中包含的签名,签名的秘钥放在服务器上。
数据结构
实际回传给用户的是这样的字符串:
eyJhbGciOiJIUzI1NiJ9.eyJhcGlOYW1lIjoidGVzdCIsImFwcE5hbWUiOiJ0ZXN0IiwiaXNzIjoiRkhaWiIsIm5hbWUiOiJhZG1pbiIsImV4cCI6MTU1MDU2NTU0N30.0BhdIFir-aJ_TJk_b5rDlMKOLxfrRx07d5n6nSGHEJU
中间的“. ”是分割符,JWT实际上由三部分组成,分别是header,playload,VERIFY SIGNATURE
header中存放描述JWT的元数据,如algorithm(加密算法):
{
"alg": "HS256"
}
playload中存放自定义的数据(用户信息等):
{
"apiName": "test",
"appName": "test",
"iss": "FHZZ",
"name": "admin",
"exp": 1550565547
}
VERIFY SIGNATURE中存放数据签名
JWT的使用
- 加入dependency:
<dep