具有授权码授予PKCE的AWS Cognito令牌返回{“ error”:“ invalid_grant”}

时间:2020-08-05 04:01:09

标签: amazon-web-services oauth-2.0 amazon-cognito

这个请求在几个月前已经生效,但是当我们再次尝试并直接使用curl时。现在,它返回一个invalid_grant。我一直在尝试搜索documentation,但仅看到以下单词,而没有任何确切的原因?

invalid_grant

  • 刷新令牌已被撤消。
  • 授权代码已被使用或不存在。

客户端设置如下。

enter image description here

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 :(得分:0)

使用PKCE时,您不需要客户端机密,后者是专为无法保留的UI客户端而设计的。

您的请求和整体行为看起来都完全正确:

  • 授权码只能使用一次
  • 如果您再次尝试使用它,则会收到invalid_grant错误

在真实的UI中还是仅使用cURL命令会出现错误?如果有帮助,您可以运行我的Sample UI并跟踪HTTP消息,然后将其与自己的解决方案进行比较。