Заголовок аутентификации не отправляется с запросами GET

В настоящее время у меня настроена экспресс-jwt и я работаю с Auth0. Если указать токен авторизации в curl или postman, страница загружается корректно. Если вы используете браузер, промежуточное ПО express-jwt сообщает, что токен не был предоставлен, и если я проверю заголовки запроса, то не будет никакого заголовка аутентификации.

Я действительно с ума схожу по этому поводу, спасибо ~ Бегущий экспресс, кстати

** редактировать, добавлен код, который я использовал, например. Не уверен, что еще было бы необходимо. Это простое приложение для реагирования с авторизацией JWT.

exports.getTokenData = async function (req) {
try {
    if (req.headers.authorization && req.headers.authorization.split(' ')[0] === 'Bearer') {
        let token = req.headers.authorization.split(' ')[1];
        if (!token) return false;

        let res = await axios({
            method: 'get',
            url: 'https://xelitexirish.eu.auth0.com/userinfo',
            headers: {Authorization: `Bearer ${token}`}
        });
        return res.data;
    } else return false;
} catch (err) {
    console.error(`Unable to fetch jwt data, Error: ${err.stack}`);
}

};

Спасибо


person Shaun O' Neill    schedule 06.03.2018    source источник
comment
Будет хорошо, если вы поделитесь некоторыми кодами   -  person Hassan Sani    schedule 07.03.2018
comment
Auth0 Dev здесь, вы не должны вызывать /userinfo только для того, чтобы получить информацию о пользователе и проверить токен, JWT проверяется неявно с использованием спецификации и может быть декодировано.   -  person ShrekOverflow    schedule 08.03.2018


Ответы (1)


Браузер будет отправлять только «стандартные» заголовки для любого заданного HTTP-запроса — под этим я подразумеваю, что, когда вы добавляете заголовок в Postman/cURL, вы явно указываете HTTP-клиенту (Postman/cURL) отправлять этот заголовок с запрос. Когда вы открываете URL-адрес в браузере, никто не говорит браузеру, что он должен отправить ваш собственный заголовок с запросом.

Вы сможете временно заставить это работать, установив mod_header в Chrome и добавьте свой собственный заголовок для запросов браузера, но в реальных приложениях токены обычно хранятся в файлах cookie или в локальном хранилище.

person odino    schedule 07.03.2018