我已经使用连接到Google身份提供商的应用程序客户端设置了一个Cognito授权方。
"回调 URL"http://localhost
,"注销 URL"http://localhost/logout
。 我已经启用了"授权代码授予"和"隐式授予"流,并且我想实现以:
- 用户向登录端点(/login(发送GET请求,如下所示:
https://mycognAuthorizer.auth.eu-west-1.amazoncognito.com/login?client_id=MYCLIENTID&redirect_uri=http://localhost&response_type=code
- 用户使用以下参数向令牌端点(/oauth2/token(发送 POST 请求
POST https://hocublen.auth.eu-west-1.amazoncognito.com/oauth2/token
Content-Type='application/x-www-form-urlencoded'
grant_type:authorization_code&
client_id:<MYCLIENTID>&
redirect_uri:http://localhost&
code:<CODE_FROM_LOGIN>
其中<CODE_FROM_LOGIN>
是第一步/login
终结点返回的代码。
我的问题是第一个端点(/login(工作正常,我得到了代码,但第二个端点总是返回带有"无效客户端"消息的错误请求响应。
配置中是否可能缺少某些内容?
此外,如果我选择从登录端点请求令牌而不是代码,此令牌是否等同于 TOKEN 端点的令牌?
似乎在创建AppClient时,默认情况下会启用"生成客户端密码",但是在AppClient的后续视图中,必须按显示详细信息才能看到密码已设置以及密码是什么。
对于我的需求范围,我只是删除了密码。
为应用客户端生成client_secret时出现无效客户端。您应该在请求中添加您的client_secret。