Как использовать несколько областей для Authlib - PullRequest
0 голосов
/ 27 июня 2018

Я работаю с Authlib версии 0.7. Я пытаюсь предоставить клиенту доступ к нескольким областям, так как я делаю это при создании клиента, я передаю строку, разделенную пробелами, как область действия (например, для «A B»). Когда я генерирую токен доступа для этого клиента, его область действия устанавливается на «A B». Однако, когда я пытаюсь получить доступ к ресурсу, защищенному областью «A» (для защиты ресурса я добавил @require_oauth («A»)), мне отказывают в доступе и я получаю ошибку http 403. Буду признателен за любые предложения, которые могут помочь мне исправить это. Спасибо

1 Ответ

0 голосов
/ 03 декабря 2018

Оформление документации по нескольким областям:

https://docs.authlib.org/en/latest/flask/2/resource-server.html#multiple-scopes

Вы можете применить несколько областей к одной конечной точке в режимах И и ИЛИ. По умолчанию используется режим AND.

@app.route('/profile')
@require_oauth('profile email', 'AND')
def user_profile():
    user = current_token.user
    return jsonify(user)
...