将Amazon Cognito托管UI的注册链接替换为自定义URL
Amazon Cognito托管UI替换注册链接为自定义URL的实现方案
针对你需要将Cognito托管UI中的默认注册链接替换为自定义URL的需求,有两种可行的实现方案:
方案一:禁用默认注册功能,自定义登录页添加注册链接
这是官方支持的直接方案,通过Cognito控制台配置即可实现:
- 登录AWS控制台,进入目标Cognito用户池
- 进入「App integration」→「App client settings」页面
- 在「Hosted UI」配置区域,取消勾选「Enable sign-up」选项并保存。此时托管UI登录页将不再显示默认注册链接
- 进入「App integration」→「UI customization」页面,选择对应App客户端和设备类型(桌面/移动)
- 在「HTML」模板编辑区修改登录页面内容,添加指向自定义注册URL的链接。例如在登录表单下方插入:
<div class="custom-signup-section"> 还没有账号?<a href="你的自定义注册URL">立即注册</a> </div>- 若需要调整样式,可在「Custom CSS」中添加对应规则,确保自定义链接与页面风格统一
注意:使用HTML模板自定义需先为用户池配置自定义域名;若未配置自定义域名,可通过自定义CSS隐藏默认注册链接(未禁用的情况下),再引导用户跳转至自定义注册页,但禁用默认注册是更稳妥的方式。
方案二:自行实现登录页面,完全控制注册跳转
如果需要更高灵活性,建议放弃Cognito托管UI的默认登录页,自行开发登录页面:
- 使用AWS Amplify或直接调用Cognito的Auth API(如
signIn方法)实现登录逻辑
- 使用AWS Amplify或直接调用Cognito的Auth API(如
- 在自定义登录页面中直接添加指向自定义注册URL的链接,完全控制跳转行为
- 自定义注册页面完成用户信息收集后,调用Cognito的
signUpAPI将用户信息同步到Cognito用户池,完成注册流程
- 自定义注册页面完成用户信息收集后,调用Cognito的
这种方式不受托管UI限制,能完全定制页面布局和跳转逻辑,适合对UI有较高自定义需求的场景。
内容的提问来源于stack exchange,提问作者Girl Geek
相关产品推荐
相关产品推荐

