JSON Web Token 案例
时间: 2024-02-16 16:05:26 浏览: 123
Json web token
下面是一个JSON Web Token的示例:
假设有一个用户Alice,她的用户名是alice,密码是password,服务器在验证了她的身份后,生成一个JWT作为她的身份认证信息。JWT的Header如下:
```
{
"alg": "HS256",
"typ": "JWT"
}
```
Payload如下:
```
{
"sub": "alice",
"exp": 1618886400
}
```
其中,sub表示Subject,即用户名;exp表示过期时间,这里设定为2021年4月20日0时0分0秒(UTC时间)的时间戳。
假设服务器使用HS256算法和一个密钥(secret)生成Signature,生成的JWT如下:
```
eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJzdWIiOiAiYWxpY2UiLCAiZXhwIjogMTYxODg4NjQwMH0.R8sVXZw4i2sSr_zd9n0e3v9f0dZi1qkE0JnV1V2Z9vA
```
这个JWT可以被客户端存储在本地,以后每次请求都要在Authorization请求头中携带它。例如,在HTTP请求中添加以下请求头:
```
Authorization: Bearer eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJzdWIiOiAiYWxpY2UiLCAiZXhwIjogMTYxODg4NjQwMH0.R8sVXZw4i2sSr_zd9n0e3v9f0dZi1qkE0JnV1V2Z9vA
```
服务器接收到请求后,读取Authorization请求头中的JWT,并验证其有效性。如果JWT有效,就可以根据其中的信息进行身份认证和授权,返回相应的数据;如果无效,则返回401 Unauthorized错误。
阅读全文