Я использую модуль NuxtJS $axios
и взаимодействую с внутренним API, который устанавливает cookie для аутентификации для дальнейших аутентифицированных запросов после входа в систему. Я посмотрел на withCredentials: true
, но он все еще не взаимодействует должным образом.
Нужно ли устанавливать конкретное значение заголовка или что-то не так с моей конфигурацией axios?
Я просто хочу сохранить и использовать этот файл cookie, полученный при успешном входе в систему, и использовать его в следующих запросах для выполнения аутентифицированных запросов.
// nuxt.config.js
axios : {
...
credentials: true,
withCredentials : true,
requestInterceptor: (config, {store}) => {
config.headers.common['Content-Type'] = 'application/json';
config.headers.common['API-Key'] = 'my_api_key';
return config
},
...
},
и вот где я делаю свой аксиос запрос
async asyncData({ $axios}) {
try {
// this response sends back an authentication cookie
const login_response = await $axios.$post("my_login_route",{
password : this.password,
username : this.email,
});
if(login_response.success){
// how i send my cookie to this route to prove im authenticated?
const authenticated = await $axios.$get("my_url");
console.log(authenticated); // always false; doesn't send cookie recieved in login $post request
}else{
console.log("Invalid username or password");
}
} catch(error) {
console.log(error);
}
}
Я сделал тестовую страницу с простым запросом проверки подлинности пользователя. Оказывается, настройки axios в nuxt.config.js
здесь НЕ применяются.
Мне нужна конфигурация axios, чтобы она применялась не только к базовому URL, но и к моим маршрутам API. Вот метод проверки, который активируется при нажатии кнопки проверки:
check_auth : async function(){
try {
const response = await this.$axios.$get("https://<my_url>/Utility/IsAuthenticated/");
console.log("IS AUTH:");
console.log(response.isAuthenticated);
}catch(error){
console.log("something went wrong.");
}
},
ЗАПРОСЫ HTTP ЗАПРОСА ДЛЯ ЗАПРОСА AXIOS, СДЕЛАННЫЕ ПРАВ ВЫШЕ
Как видите, нет файлов cookie или API-Key
заголовков, которые я указал в конфигурации axios.
Host: <my_url>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: application/json, text/plain
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost:1337/send/account
Origin: http://localhost:1337
DNT: 1
Connection: keep-alive
Что мне нужно изменить в разделе axios nuxt.config.js
, чтобы конфигурация axios могла применяться к моему маршруту API? Нужно ли использовать раздел proxy:{}
?
Пожалуйста, помогите !!