React集成Cognito实现Google SSO异常:未跳转至谷歌经典登录页
解决Cognito对接Google SSO时未直接跳转Google账号选择页的问题
问题分析
你当前跳转的是Cognito的托管登录页,而非直接导向Google的账号选择界面,这是因为默认的Cognito登录请求会先展示自身的身份提供商选择界面,而非直接触发指定的第三方登录流程。
解决建议
- 修改授权请求URL:在现有登录URL末尾添加
&identity_provider=Google参数,强制Cognito直接跳转到Google的登录页面。修改后的URL示例:https://kandir.auth.us-west-1.amazoncognito.com/login?response_type=token&client_id=MYCLIENTID&redirect_uri=https://www.example.com/&identity_provider=Google - 检查Cognito应用客户端配置:
- 进入Cognito用户池的「App client settings」页面
- 确认「Enabled Identity Providers」中已勾选Google
- 验证回调URL、注销URL等配置与Google OAuth应用中的设置一致
- Google OAuth应用配置校验:
- 登录Google Cloud控制台,找到对应的OAuth应用
- 确保Cognito的身份提供商回调URL(格式为
https://<你的用户池域名>/oauth2/idpresponse)已添加到「授权重定向URI」列表中
- 使用Amplify库的直接触发方式:如果你的React应用使用AWS Amplify,调用
Auth.federatedSignIn({ provider: 'Google' })即可直接启动Google登录流程,无需经过Cognito的托管UI。
内容的提问来源于stack exchange,提问作者jd487
相关产品推荐
相关产品推荐

