Next.js应用中AWS Cognito集成Google认证的跳转问题
问题原因与解决方案
问题根源
跳转URL出现https://https//的重复前缀,是因为OAuth域名配置中重复添加了https://。Amplify在构建授权URL时,会自动为domain字段的值拼接https://前缀,如果你的环境变量NEXT_PUBLIC_OAUTH_DOMAIN本身已经包含https://,就会导致最终URL格式错误,触发DNS解析失败(DNS_PROBE_FINISHED_NXDOMAIN)。
解决步骤
修正环境变量
打开你的环境配置文件(如.env.local),将NEXT_PUBLIC_OAUTH_DOMAIN的值改为不带https://的纯域名:NEXT_PUBLIC_OAUTH_DOMAIN=chatinmobiliario.auth.us-east-2.amazoncognito.com重启开发服务器
修改环境变量后,必须重启Next.js开发服务器,确保新配置生效。确认Amplify配置
保持Amplify Auth配置中的domain字段直接引用环境变量,无需额外添加前缀:domain: String(process.env.NEXT_PUBLIC_OAUTH_DOMAIN),
额外验证
- 登录AWS控制台,检查Cognito用户池客户端的OAuth设置:
- 确认域名与你配置的纯域名一致
- 确认
redirectSignIn和redirectSignOut中填写的URI已添加到Cognito的允许列表中
- 再次点击登录按钮,此时跳转URL应变为正确格式:
https://chatinmobiliario.auth.us-east-2.amazoncognito.com/oauth2/authorize?...
内容的提问来源于stack exchange,提问作者Rai
相关产品推荐
相关产品推荐

