Я создаю API, основанный на Flask (расширенный с flask-restful), и приложение внешнего интерфейса с Vue.js.
Оба в настоящий момент работают на localhost.flask: 127.0.0.1:5000
, vue: localhost:8080/
Я вызываю API, используя axios .Первый вызов привел к ошибке CORS, поэтому я установил расширение flask-CORS, и ошибка CORS исчезла.
По API, URL http://127.0.0.1:5000/signin
можно вызвать с помощью метода GET и требует Basic Authавторизации.Если данные авторизации действительны, токен возвращается.В Почтальоне это прекрасно работает.В моем приложении Vue.js вызывается API через axios, например:
signIn() {
const session_url = 'http://127.0.0.1:5000/signin'
axios.get(session_url, {}, {
auth: {
username: this.email,
password: this.password
}
}).then(response => {
console.log('Authenticated')
console.log(response.data)
/*this.$store.dispatch('signin', response.data)*/
}).catch(error => {
console.log('Error on Authentication')
this.error = error
console.log(error)
});
}
... консоль в браузере выдает: Error: "Request failed with status code 401"
.
В Postman API-вызов работает нормально, а также используется CURL:
curl -u Hans:testing -i -X GET http://127.0.0.1:5000/signin
возвращает
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 180
Access-Control-Allow-Origin: *
Server: Werkzeug/0.14.1 Python/3.6.4
Date: Sat, 22 Sep 2018 14:22:37 GMT
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...."
}
Почемуя получаю ошибку 401 при вызове API через Axios?
Спасибо за вашу помощь!