Получение ошибки {"error": "invalid_client"} при создании маркера доступа в django

Я создал приложение в своем проекте и оно успешно создано. и я получил ID клиента и секрет клиента из этого. но когда я ввожу команду для получения токена доступа, появляется сообщение об ошибке

{"error": "invalid_client"}

Я ввел эту команду curl -X POST -d "grant_type=password&username=<user_name>&password=<password>" -u"<client_id>:<client_secret>" http://<ip_address>:<port>/o/token/ В Windows CMD, используя свое имя пользователя пароль.

Я добавил это в settings.py

'oauth2_provider' в INSTALLED_APPS

OAUTH2_PROVIDER = {
    # this is the list of available scopes
    'SCOPES': {'read': 'Read scope', 'write': 'Write scope', 'groups': 'Access to your groups'}
}

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS' : [ 'django_filters.rest_framework.DjangoFilterBackend' ],
    'DEFAULT_AUTHENTICATION_CLASSES' : ('oauth2_provider.contrib.rest_framework.OAuth2Authentication',),
}

Но все еще получаем {"error": "invalid_client"} В CMD.

Unauthorized: /o/token/
[31/May/2022 18:08:17] "POST /o/token/ HTTP/1.1" 401 27

и приведенная выше ошибка в Терминале VS кода.

Как я могу решить эту проблему.

Вы попытались запросить токен с client_secret, сгенерированным администратором django oauth toolkit (хэшированное значение). Вы должны скопировать client_secret перед сохранением. Это изменение было реализовано 2022-04-24

Согласно журналу изменений:

#1093 (Breaking) Изменения для реализации хэшированных значений client_secret. Это разрушающее изменение, которое перенесет все ваши существующие чистые значения application.client_secret на хэширование алгоритмом хэширования паролей по умолчанию Django и не может быть отменено. При добавлении или изменении приложения в консоли администратора вы должны скопировать автоматически сгенерированный или введенный вручную client_secret перед тем, как нажать кнопку Save.

Подробнее об этом можно прочитать здесь

Вернуться на верх