如何为AWS Amplify Gen 2的认证重定向使用自定义域名
解决Cognito自定义域名替换默认域名用于Google OAuth登录的方法
方法一:通过Amplify CLI重新配置Auth模块
- 打开终端进入项目根目录,执行命令:
amplify update auth - 选择 "Walkthrough all the auth configurations" 选项,进入配置流程
- 找到 "OAuth configuration" 环节,在域名设置处输入你的自定义域名(例如
auth.yourdomain.com) - 完成配置后执行
amplify push,Amplify会自动更新outputs.json里的auth.oauth.domain属性,同时同步云端配置
方法二:手动修改Amplify配置文件(临时方案)
若不想走CLI流程,可直接修改本地配置:
- 找到项目内
amplify/backend/auth/<你的Auth资源名称>/outputs.json文件 - 定位
auth.oauth.domain字段,将值替换为你的自定义域名 - 执行
amplify push同步云端配置
方法三:代码层手动覆盖配置
如果需要动态指定域名,可在Amplify初始化时覆盖OAuth配置:
import { Amplify } from 'aws-amplify'; import awsconfig from './aws-exports'; Amplify.configure({ ...awsconfig, Auth: { ...awsconfig.Auth, oauth: { ...awsconfig.Auth.oauth, domain: '你的自定义域名' } } });
这种方式无需修改outputs.json,直接在代码层覆盖,适合需要动态切换域名的场景
注意:无论用哪种方法,都要确保Cognito自定义域名已完成DNS解析,且Cognito控制台的OAuth设置中,回调URL、退出URL等都已更新为自定义域名对应的地址,否则会出现登录失败问题
内容的提问来源于stack exchange,提问作者Cristian
相关产品推荐
相关产品推荐

