Используйте JWT с TurboGears2
В настоящее время я остановлен в своей работе из-за некоторой работы по аутентификации в проекте. Я настроил REST API, который должен иметь систему аутентификации JWT. Некоторая работа была уже сделана, и я переиграл ее. Таким образом, используемая библиотека была Python TurboGears2, и я использовал PyJWT для управления токенами.
Мой WS и создание токена работают хорошо. Метод post с информацией об авторизации в теле JSON-запроса может создать токен, который отправляется в ответе. Но после этого, когда я выполняю запрос " GET " на ограниченном ресурсе, я не могу получить токен.
Что я делаю: отправляю запрос GET ограниченному ресурсу с " Authorization: Bearer < TOKEN >" в заголовках запроса.
Но когда я выполняю "request.authorization" в своей функции веб-сервиса, я всегда получаю "None". Нужно ли настраивать систему полной авторизации с использованием TurboGears для доступа к этому заголовку? Спасибо за помощь
1 ответ
Где вы пытаетесь получить доступ к request.authorization
от?
Я попытался с помощью недавно запущенного приложения и изменил индекс для печати заголовка авторизации:
@expose('testauth.templates.index')
def index(self):
"""Handle the front-page."""
print(request.authorization)
return dict(page='index')
И я отправил заголовок авторизации от Postman
,
Он работал нормально и напечатал мой тестовый заголовок
Authorization(authtype='Bearer', params='HELLO')
Я также пытался отключить любой auth_backend
так что аутентификация отключена и все равно работает как положено.