在 FastAPI 中,测试接口点击小锁传值,测试token时效性,前端vue如何实现
时间: 2023-11-28 14:06:41 浏览: 32
在 FastAPI 中,可以使用 JWT(JSON Web Token)实现认证和授权机制。JWT 由三部分组成,即头部、负载和签名。其中,头部和负载为 JSON 格式,签名为对头部和负载进行加密的字符串。
当用户登录后,服务器会生成一个 JWT 并返回给客户端,客户端将 JWT 存储在本地,每次请求需要认证的接口时,需要将 JWT 添加到请求头中传递给服务器进行验证。服务器会解析 JWT,验证签名和时效性,如果验证通过,则认为用户有权限访问该接口。
在前端 Vue 中,可以使用 Axios 库发送请求,并设置请求头信息,实现 JWT 认证。
首先,在前端应用启动时,可以从本地存储中获取 JWT,并设置 Axios 的默认请求头信息:
```javascript
import axios from 'axios'
const token = localStorage.getItem('token')
if (token) {
axios.defaults.headers.common['Authorization'] = `Bearer ${token}`
}
```
然后,在需要认证的接口中,可以添加请求头信息,例如:
```javascript
axios.get('/api/user', {
headers: {
'Authorization': `Bearer ${token}`
}
})
```
其中,`${token}` 为从本地存储中获取的 JWT。
当 JWT 失效时,服务器会返回 401 Unauthorized 响应,此时前端应该清除本地存储中的 JWT,并重新登录获取新的 JWT。
以上是实现 JWT 认证和授权的基本思路,具体实现方式还需要根据项目的具体情况进行调整。