JWT: Как отправить авторизацию в шапке?

Я использую JWT (https://github.com/tymondesigns/jwt-auth) генерировать токены сессии в моем API.

Я сделал все необходимые настройки для работы в качестве авторской документации.

После подключения сеанса я использую URL для возврата данных моих категорий. Когда я передаю токен непосредственно в URL, он работает. Следующее:

http://api.domain.com/categories?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9kZXYuaW1pYXZpcFwvYXBpXC9hdXRoXC9hdXRoZW50aWNhdGUiLCJzdWIiOiIxIiwiaWF0IjoxNDIxODQyMzU4LCJleHAiOjE0MjE5Mjg3NTh9.-nqKoARKc2t1bI2j5KFEP_zRU8KCki_dghKe6dtAedY

Только мне нужно передать токен в моем запросе к заголовку, используя Authentication Bearer. Но не работает. Посмотрите, как я прохожу:

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9kZXYuaW1pYXZpcFwvYXBpXC9hdXRoXC9hdXRoZW50aWNhdGUiLCJzdWIiOiIxIiwiaWF0IjoxNDIxODQyMzU4LCJleHAiOjE0MjE5Mjg3NTh9.-nqKoARKc2t1bI2j5KFEP_zRU8KCki_dghKe6dtAedY

Что может быть не так?

В документации JWT упоминается использование формы, которую я провел выше. Но не работает.

7

Решение

Если вы используете Apache, заголовки, вероятно, не проходят, из-за эта известная проблема в пределах Symfony

Вам нужно будет добавить следующее на ваш виртуальный хост, если это так:

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
4

Другие решения

Пожалуйста, убедитесь, что у вас есть строка ниже в вашем коде серверной части
Это для PHP.

header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization');

Обратите внимание, что в приведенной выше строке мы разрешаем заголовок «Авторизация».

Как только у вас есть строка выше в вашем коде на стороне сервера, вы можете использовать функцию ниже (если вы кодируете в php), чтобы получить все заголовки в массиве.

getallheaders();
0

По вопросам рекламы [email protected]