Apidoc для URL-адреса проверки подлинности Flask-JWT

Я начал использовать apidoc для генерации документации REST API. Я пробовал разные вещи с этим.

В моем flask приложение на основе API, я использую JWT (в частности, flask-jwt) для аутентификации. Документ генерируется правильно, но запрос от документа не происходит должным образом.

Это где я положил docsting для создания документа

def authenticate(username, password):
    """
    @api {post} /auth Authentication url
    @apiName Authentication
    @apiGroup Login

    @apiParam {String} username Username of the user
    @apiParam {String} password Password of the user

    @apiSuccess {String} access_code JWT

    @apiSuccessExample Success Response
    HTTP/1.1 200 OK
    {
      "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGl0eSI6IjM5MDA4MGExLWY0ZjctMTFlNS04NTRkLTI4ZDI0NDQyZDNlNyIsImlhdCI6MTQ1OTE3ODE0NSwibmJmIjoxNDU5MTc4MTQ1LCJleHAiOjE0NTkxNzg0NDV9.nx_1a4RmvJ7Vlf1CvnMzqoTfzChcuJnDb1Tjy1_FnXw"
    }

    @apiErrorExample Invalid Credentials
    {
      "description": "Invalid credentials",
      "error": "Bad Request",
      "status_code": 401
    }
    """
    user = session.query(User).filter_by(username=username).first()
    if user and user.is_correct_password(password):
        return user
    return False

И когда я генерирую документ, он генерируется правильно

$ apidoc -i onehop/ -o doc
  1. Но когда я передаю учетные данные из сгенерированного документа, запрос не выполняется. Данные запроса, которые я получаю в запросе колбы: '' (Пусто)
  2. Это также не удается даже после включения Content-Type заголовок в строке документации. Данные запроса, которые я получаю в запросе колбы: username=test@example.com&password=test123

Я подтвердил выше, поместив точки отладки в код Flask-JWT

def _default_auth_request_handler():
    data = request.get_json()   # My debug poing
    username = data.get(current_app.config.get('JWT_AUTH_USERNAME_KEY'), None)
    password = data.get(current_app.config.get('JWT_AUTH_PASSWORD_KEY'), None)

Но когда я делаю тот же запрос, используя postman это происходит правильно.

Почтальон заголовки введите описание изображения здесь

Apidoc заголовки введите описание изображения здесь

Что я упустил?

0 ответов

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