Получение ошибки {"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.