AWS Токен Cognito с предоставлением кода авторизации PKCE возвращает {"error": "invalid_grant"} - PullRequest
1 голос
/ 05 августа 2020

Этот запрос работал пару месяцев, а go, но когда мы попробовали снова и напрямую с помощью curl. Теперь он возвращает invalid_grant. Я пытался выполнить поиск в документации , но вижу только следующие слова без каких-либо точных причин?

invalid_grant

  • Refre sh токен отозван.
  • Код авторизации уже использован или не существует.

Настройки клиента следующие.

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

curl -X POST https://test-sso.auth.amazoncognito.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code&client_id=xxxxxxx&redirect_uri=https%3A%2F%2F1c2d5a1xxxx.ngrok.io&code=SjkkDSSDs-b2A7nJPi3cmItyRZU4-b3GMjLls&code_verifier=sdXXXXXbUR2RmFIaTVQaVpTdndLOWoxOFU9Ig"

Кто-нибудь сталкивался с этим в последнее время или решил эту проблему? Я понял, даже сняв PKCE. Он по-прежнему возвращает invalid_grant.

Большое спасибо

1 Ответ

0 голосов
/ 05 августа 2020

Вам не нужен секрет клиента при использовании PKCE, который специально разработан для клиентов пользовательского интерфейса, которые не могут его сохранить.

Ваш запрос и общее поведение выглядят совершенно правильно:

  • Код авторизации можно использовать только один раз
  • Если вы попытаетесь использовать его снова, вы получите ошибку invalid_grant

Получаете ли вы ошибки в реальных пользовательских интерфейсах или только с команда cURL? Если это поможет, вы можете запустить мой образец пользовательского интерфейса и отследить HTTP-сообщения, а затем сравнить с вашим собственным решением.

...