Ошибка разрешения в oauath2 с использованием токена доступа django - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь сгенерировать токен доступа, как это в django -rest-framework:

def generate_access_token(request, user):
    expire_seconds = oauth2_settings.user_settings['ACCESS_TOKEN_EXPIRE_SECONDS']
    scopes = oauth2_settings.user_settings['SCOPES']
    application = Application.objects.get(name="test")
    expires = datetime.datetime.now() + timedelta(seconds=expire_seconds)
    access_token = AccessToken.objects.create(user=user, application=application,
                                              token=random_token_generator(request), expires=expires)

    token = {
        'access_token': access_token.token,
        'token_type': 'Bearer',
        'expires_in': expire_seconds,
        'scope': scopes
    }

    return token

Это генерирует токен доступа, но когда я пытаюсь использовать этот токен доступа для доступа другой защищенный API, он дает мне следующую ошибку: -

{
    "detail": "You do not have permission to perform this action."
}

С другой стороны, если я генерирую токен доступа с помощью TokenView, этот токен работает нормально.

Я попытка вручную создать токен доступа, используя объект пользователя, возвращаемый при регистрации пользователя и входе Как я могу избавиться от этой ошибки, или какая альтернатива для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...