Используйте 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 так что аутентификация отключена и все равно работает как положено.

Другие вопросы по тегам