Заголовки автоматической авторизации axios - PullRequest
0 голосов
/ 04 января 2019

Я использую реагирование с axios для получения некоторой информации.Я отправляю токен JWT авторизованному пользователю и получаю ответ в консольном браузере

"Доступ к XMLHttpRequest по адресу https://beer -ightight.herokuapp.com / beer / getBeerStatus 'from origin' http://localhost:3000' заблокировано политикой CORS: Access-Control-Allow-Headers не разрешает авторизацию поля заголовка запроса в ответе перед полетом. "

componentWillMount() {

    let token = localStorage.getItem('token');

    console.log(token);


    axios.get('https://beer-tonight.herokuapp.com/beer/getBeerStatus', { headers: {Authorization : 'Bearer ' + token} }
    )
        .then(
            result => {
                console.log('yey');
            });
}

// ошибка

введите описание изображения здесь

Когда я использую POSTMAN, я получаю правильный ответ.

// вход почтальона

введите описание изображения здесь

ps я уже добавил:

app.use((req, res,next)=>{
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorisation');
next();

});

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Вы написали Authorisation:

res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorisation');

Но заголовок Authorization, как вы использовали с axios, попробуйте изменить его и посмотреть, работает ли он тогда,

0 голосов
/ 04 января 2019

Я полагаю, что ошибка cors, которую вы получаете, происходит из вашего файла node.js.(https://beer -tonight.herokuapp.com / beer / getBeerStatus )

Поскольку хост не совпадает с источником (beer-tonight.herokuapp.com не совпадает с localhost), вынеобходимо включить cors для вашего сервера node.js.

Если вы используете экспресс:

const express = require('express');
const cors = require('cors');
const app = express();

app.use(cors());

// ...

Источник: здесь

Hapi.js:

server.connection({ routes: { cors: true } })

Источник: здесь

После включения CORS все должно работать без сбоев. Подробнее о CORS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...