Я создаю API с flask_restplus
и flask_httpauth
для аутентификации на основе токенов.Все работает хорошо, кроме одной вещи.В интерфейсе Swagger я получаю ошибку 401 при попытке выполнить поисковый запрос.Добавление «Носителя» к авторизации не помогает.Пожалуйста, смотрите скриншот ниже.
Забавно, что копирование и вставка вывода из curl
(в интерфейсе Swagger) и запуск его с терминала действительно верный вывод.То же самое с запуском в Почтальоне.Проблема, вероятно, в интерфейсе Swagger.Любые предложения?
Предложение по Github , к сожалению, не работает для меня.
Примечание: кажется, что verify_token(token)
не получает ввод от пользовательского интерфейса Swagger.Когда я пытаюсь напечатать token
, он пуст при вызове из Swagger, но показывает значение при вызове из curl / Postman.
Часть кода:
authorizations = {
'Bearer Auth': {
'type': 'apiKey',
'in': 'header',
'name': 'Authorization'
},
}
api = Api(blueprint, version='1.0', title='Flask API',
description='My API', security='Bearer Auth', authorizations=authorizations)
@token_auth.verify_token
def verify_token(token):
g.current_user = User.check_token(token) if token else None
return g.current_user is not None