使用axios如何携带jwt令牌访问后端接口
时间: 2024-09-18 19:00:32 浏览: 45
使用axios携带JWT(Json Web Token)访问后端接口通常需要将令牌添加到HTTP请求头`Authorization`字段。下面是一个基本步骤:
1. **安装axios** 如果你还没有安装axios,首先通过npm或yarn安装:
```
npm install axios
```
2. **获取token** 在客户端,例如浏览器或服务端应用,当你登录成功并获得JWT时,将其存储在一个安全的地方,比如localStorage或sessionStorage。
3. **创建axios实例** 初始化axios,并设置默认的headers,包括`Authorization`:
```javascript
const instance = axios.create({
baseURL: 'your-backend-api-url', // 后端API地址
headers: {
Authorization: `Bearer ${localStorage.getItem('jwt')}`, // 将JWT字符串放在Bearer前
},
});
```
这里假设你在浏览器环境中使用了`localStorage`来存储JWT,如果是在Node.js中,则可能需要其他方式读取token。
4. **发送请求** 现在你可以像平常一样使用这个instance来发起GET、POST等请求:
```javascript
instance.get('/protected-resource')
.then(response => console.log(response.data))
.catch(error => console.error(error));
```
5. **错误处理** 当JWT过期或者认证失败时,后端可能会返回401未授权状态码,这时你需要清除token并重新登录。
记得定期刷新JWT(通常取决于JWT的有效期),以避免因过期导致无法访问。
阅读全文