我正在按照此cognito添加社交身份验证将谷歌身份验证添加到我的应用程序之一中进行测试。完成了列出的所有步骤,但是当我使用它进行测试时
https://
Error 400: redirect_uri_mismatch
The redirect URI in the request, https://xxxx-xxxx.auth.ap-south-1.amazoncognito.com/oauth2/idpresponse, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit:
最初,cognito 应用程序客户端设置中的重定向 uri 和回调 url 不同,但我更改了它们,我还尝试将重定向 url 更改为简单的 https://google.com,但仍然无法正常工作。我对此做了一些研究,发现可能需要一些时间才能反映 google oauth 设置中的更改,自从我更改相同内容以来已经 2 小时了,我应该等待还是有其他解决办法。 另外,我按照相同的文档设置了 Facebook 登录,它工作正常。 请帮忙!
最后我得到了解决方案,谷歌身份验证凭据中的重定向网址需要是你的
**domainName+/oauth2/idpresponse**
。
根据我的经验,这种不匹配是指您构建的 URL 与 Cognito 池中的设置之间的差异。在池配置中,
redirect_uri
称为Callback URL
。确保这两个具有相同的 URL。
您可以在此处的 Cognito UI 中进行设置:
App Integration > App Client Settings > Sign in and sign out URLs > Callback URL(s)
或者,如果您使用 CDK,则可以在代码中指定 URL。
new cognito.UserPoolClient({
oAuth: {
callbackUrls: ['https://www.example.com', '<url2>'],
}
...
}
它与您的 uri 有关,无论是在 google cloud 还是 cognito 中,请仔细检查输入的 uri 是否匹配
我遇到了类似的问题,我认为OP以与我相同的方式解决了问题。但他们的答案并不太明确。因此,我要做的就是在 GCP 上我的 Google 应用程序的“授权重定向 URI”下添加一个 URI(选择您的项目 -> 凭据 -> 授权重定向 URI)。 URI 是
https://{my-domain}.auth.{region}.amazoncognito.com/oauth2/ipdresponse