#javascript #cors #aws-api-gateway #access-control
#javascript #cors #aws-api-gateway #управление доступом
Вопрос:
В настоящее время я сталкиваюсь с проблемой, связанной с доступом из моего простого интерфейса к моему API, который я создал в API Gateway. Я включил CORS для используемого ресурса, как показано на рисунке:
Вот код для моего запроса:
<script>
new Vue({
el: "#app",
data: {
eMail: '',
password: ''
},
methods: {
// API CALL HERE FOR INITIAL VALUES
init() {},
// SIGNUP
signUp() {
let userData = {
"mail": this.eMail,
"password": this.password
}
console.log(userData);
const request = {
host: 'myapi.execute-api.eu-central-1.amazonaws.com',
method: 'POST',
url: `***********`,
data: userData, // object describing the foo
body: JSON.stringify(userData), // aws4 looks for body; axios for data ...path: `/Prod/foos/${foo.id}`,
headers: {
'content-type': 'application/json',
'Access-Control-Allow-Origin': '*'
}
};
axios(request).then((response) => {
if(!response.containsHeader("Access-Control-Allow-Origin"))
console.log(response);
});
}
},
mounted() {
this.init();
}
});
</script>
При использовании скрипта я получаю следующую ошибку в отладчике firefox «Отсутствует CORS-заголовок ‘Access-Control-Allow-Origin'». Мне еще предстоит найти решение этой проблемы
Комментарии:
1. Попробуйте в другом браузере или после очистки кэша вашего браузера или принудительной перезагрузки.
2. Можете ли вы прикрепить ответ, сгенерированный после выполнения следующей команды curl? запись curl -v -X myapi.execute-api.eu-central-1.amazonaws.com/account —данные «…» В идеале заголовки ответов должны включать заголовок ‘Access-Control-Allow-Origin’. Но я предполагаю, что в вашем случае внутренняя реализация не возвращает этот заголовок.
3. Спасибо за ваш совет. Я постараюсь найти время, чтобы сделать это в ближайшие пару дней.