gpt4 book ai didi

reactjs - IE 11 未在 API 调用中传递授权 header

转载 作者:行者123 更新时间:2023-12-03 13:27:49 25 4
gpt4 key购买 nike

堆栈:部署在 AWS 上的 ReactJS、axios、api

在我的reactjs应用程序中,我使用axios调用部署在aws上的API。该应用程序在 Chrome 和 Firefox 中运行良好,但在 IE 11 中运行失败。

所有 API 均已正确配置为允许访问控制 header 中的授权 enter image description here

我使用下面的代码在请求中添加授权 header 和 accessToken

   const axiosInstance = axios.create({
baseURL: `https://abc.api.nonprod.org/`
});

export const createTokenHeaders = (idToken, accessToken) => ({
authorization: `Bearer ${idToken}`,
accessToken: `Bearer ${accessToken}`
});
// Add a request interceptor
export const reqInterceptor = config =>
// get the bearer token and add it in the header
Auth.currentSession()
.then(data => {
const idToken = data.getIdToken().getJwtToken();
const accessToken = data.getAccessToken().getJwtToken();
// eslint-disable-next-line no-param-reassign
config.headers = Object.assign({}, config.headers, createTokenHeaders(idToken, accessToken));
return config;
})
.catch(err => {
console.log(err);
throw new Error('Error getting bearer token');
});

axiosInstance.interceptors.request.use(reqInterceptor);

export const performGet = (uri, queryParams = {}, headers) => {
const requestParams = {
params: queryParams,
headers
};
return axiosInstance.get(uri, requestParams);
};

当我从 localhost:3000 在 chrome 中运行此应用程序时,chrome 会正确调用 OPTIONS 请求,然后使用正确的授权 header 调用 GET 请求。

但是当我在 IE 中运行相同的应用程序时,它不会调用 OPTIONS 请求,也不会在 GET 请求中传递 Authorization header (但它会传递 accessToken header )。

最佳答案

您的 IE 是否在增强保护模式下运行?看来不是代码问题。 https://www.npmjs.com/package/react-native-axios

react-native-axios 支持 IE11。使用 f12 调试器并检查网络流量中是否未找到 url。

关于reactjs - IE 11 未在 API 调用中传递授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56746213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com