Stack: ReactJS, axios, api, развернутые на AWS
В приложении «Мое реагирование» я вызываю API, развернутый на AWS с помощью axios. Это приложение отлично работает в Chrome и Firefox, но не работает в IE 11.
Все apis правильно настроены для разрешения Авторизации в заголовке контроля доступа
Я использую приведенный ниже код для добавления заголовка авторизации и 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);
};
Когда я запускаю это приложение в chrome с localhost: 3000, тогда chrome правильно вызывает запрос OPTIONS, а затем получает запрос GET с правильным заголовком авторизации.
Но когда я запускаю то же приложение в IE, оно не вызывает запрос OPTIONS и не передает заголовок Authorization в запросе GET (однако он передает заголовок accessToken).