react-native - 如何将令牌从 SecureStore 传递到 axiosInstance 标头:React-native 中的授权?
问题描述
如何将令牌从 SecureStore.getItemAsync 传递到 axiosInstance 标头。getAccessToken() 给了我承诺,我知道我可以做 getAccessToken().then(token=>....),但是我应该如何在这里实现它?
import axios from 'axios';
import * as SecureStore from 'expo-secure-store'
import { useEffect, useState } from 'react';
const baseURL = 'http://000.000.0.000:8000/api/';
async function getAccessToken(){
await SecureStore.getItemAsync('access_token')
}
const axiosInstance =
axios.create({
baseURL: baseURL,
timeout: 5000,
headers: {
Authorization: getAccessToken()
? 'JWT ' + getAccessToken()
: null,
'Content-Type': 'application/json',
accept: 'application/json',
},
});
axiosInstance.interceptors.response.use(
(response) => {
console.log(response)
return response;
},
);
export default axiosInstance;
解决方案
您可以使用请求拦截器。
axios.interceptors.request.use(async req => {
const access_token = await SecureStore.getItemAsync('access_token')
req.headers.authorization = access_token;
return req;
});
推荐阅读
- verilog - 使用yosys在verilog中的case状态下增加整数
- php - Likebutton 不起作用 phpacademy - Ajax
- reactjs - 如何以 redux 形式访问模糊的验证结果
- python - 使用虚拟环境的目的
- python - 在 matplotlib 的轴中设置轴标签
- javascript - echarts 的自定义动态颜色
- android - 如何使用 Retrofit 拨打多个电话?
- vb.net - 如何在单步执行代码时查看活动的 .Net 事件?
- versioning - 为什么 DOORS `isBaseline` 似乎总是返回 FALSE?
- django - 如何解决循环进口