【发布时间】:2019-07-01 20:50:33
【问题描述】:
我在使用 Amazon Cognito 中的授权代码流时遇到问题。我正在尝试构建的工作流程如下:
- 用户使用内置的 Cognito UI 进行身份验证。
- Cognito 使用授权码重定向回来。
- 我将代码发送到使用 /oauth2/token 端点交换令牌的服务器。
我创建了一个没有客户端密码的客户端。我使用 Cognito UI 进行身份验证,取回代码,然后使用 Postman 发送以下内容:
URL: https://MY-DOMAIN/oauth2/token
Method: POST
Headers:
Content-Type: application/x-www-form-urlencoded
Body:
grant_type=authorization_code&
client_id=<my-client-id>&
code=<code-from-cognito-ui>&
redirect_uri=<my-redirect-url>
我不使用授权,因为没有客户端密码。
作为回报,我收到:
Code: 400
Body: { "error": "invalid_client" }
允许应用程序客户端在 AWS Cognito 控制台中授予授权代码。
【问题讨论】:
-
运气好吗?我也遇到了同样的问题
-
我在一段时间后重复了相同的步骤,它们奏效了。我不知道/不记得确切原因,最初可能错过了一些东西。但是,如果您附上邮递员/您正在使用的其他实用程序的屏幕截图,我可以检查可能有什么问题。
-
我终于放弃并创建了一个带有秘密的新 Cognito 客户端应用程序,事情也开始为我工作了。
-
我也遇到过这种问题。问题是使用 client_secret 创建客户端。您应该通过取消选中“生成客户端密码”选项来创建您的客户端。因为授权代码流在客户端工作,这意味着您的客户端必须使用公共类型创建。效果很好。
标签: amazon-web-services amazon-cognito