Я тестирую реализацию безопасности на основе токенов JWT, основанную на следующей статье . Я успешно получил токен с тестового сервера. Я не могу понять, как заставить клиентскую программу Chrome POSTMAN REST отправлять токен в заголовке.
Мои вопросы следующие:
1) Я использую правильное имя заголовка и / или интерфейс POSTMAN?
2) Нужно ли на базе 64 кодировать токен? Я думал, что смогу просто отправить токен обратно.
Ответы:
Для имени заголовка запроса просто используйте Авторизацию. Поместите Носителя перед Жетоном. Я только что попробовал, и это работает для меня.
Авторизация: предъявитель TOKEN_STRING
Каждая часть JWT является закодированным значением base64url.
источник
Вот изображение, если это помогает :)
Обновить:
Команда почтальона добавила «токен на предъявителя» на «вкладку авторизации»:
источник
Я добавляю к этому вопросу несколько интересных советов, которые могут помочь вам, ребята, тестирующие JWT Apis.
Это очень просто на самом деле.
Когда вы входите в свой Api (конечная точка входа в систему), вы немедленно получаете свой токен, и, как сказал @ mick-cullen, вам придется использовать JWT в заголовке как:
Теперь, если вы хотите автоматизировать или просто облегчить себе жизнь, в своих тестах вы можете сохранить токен как глобальный, который вы можете вызывать на всех других конечных точках как:
На почтальоне: Затем создайте глобальную переменную в почтальоне как jwt_token = TOKEN_STRING.
На вашей конечной точке входа в систему: Чтобы сделать это полезным, добавьте в начале вкладки Тесты добавьте:
Я предполагаю, что ваш API возвращает токен как json в ответе: {"jwt_token": "TOKEN_STRING"}, возможно, есть какое-то изменение.
В первой строке вы добавляете ответ в переменную данных. Очистите свой глобальный и назначьте значение.
Итак, теперь у вас есть свой токен для глобальной переменной, что упрощает использование Authorization: Bearer {{jwt_token}} на всех ваших конечных точках.
Надеюсь, этот совет поможет.
РЕДАКТИРОВАТЬ
Что-то для чтения
О тестах на Почтальоне: примеры тестирования
Командная строка: Ньюман
CI: интеграция с Дженкинсом
Хороший пост в блоге: мастер автоматизации тестирования API
источник
Test
вкладки и почтальонским кодированием. Есть ли ресурс, который вы рекомендуете начать с этого?У меня была та же проблема в
Flask
и после попытки первых 2 решений, которые одинаковы (Authorization: Bearer <token>
), и получить это:Мне удалось наконец решить это с помощью:
Думаю, это может сэкономить время людям, которые сталкиваются с тем же.
источник
Authentication credentials were not provided
вdjango
использованииBearer <token>
. решено сjwt <token>
. Спасибо за решениеВот как установить токен это автоматически
На ваш логин / запрос авторизации
Тогда для аутентифицированной страницы
источник
Если вы хотите использовать почтальон, правильный способ - использовать заголовки как таковые
ключ: авторизация
значение: jwt {токен}
так просто, как, что.
источник
Для людей, которые используют плагин Wordpress Advanced Access Manager, чтобы открыть аутентификацию JWT.
Поле заголовка должно поставить аутентификацию вместо авторизации
AAM упомянул об этом в своей документации ,
Надеюсь, это поможет кому-то! Спасибо за другие ответы мне тоже очень помогли !!
источник
Готово!
источник
Все остальное т.е. Параметры, Авторизация, Тело, Сценарий предварительного запроса, Тесты пустые, просто откройте вкладку Заголовки и добавьте, как показано на рисунке. То же самое и для запроса GET.
источник
Почему-то почтальон у меня не работал. Мне пришлось использовать расширение Chrome под названием RESTED, которое работало.
источник
Я сделал так, как упомянул moplin. Но в моем случае служба отправляет JWT в заголовках ответа, как значение под ключом «Авторизация».
Я сделал глобальную переменную в почтальоне как
в запрос входа в систему -> вкладка Тесты, добавить
в других запросах выберите вкладку Заголовки и введите
источник
В Почтальоне последней версии (7 ++) может быть нет поля «Носитель» в Авторизации. Перейдите на вкладку «Заголовок».
выберите ключ в качестве Авторизации и в значение напишите JWT
источник
Bearer Token
воAuthorization
вкладке есть помощник , добавление значения токена здесь (в жестком коде или в качестве динамической переменной) создаст тот жеAuthorization
заголовок для запроса.