You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于无需Cognito托管UI实现SSO及相关定制的技术问询

Cognito SSO与托管UI定制问题解答

1. 是否可无需Cognito托管UI实现SSO?

可以实现,核心是让两个应用共享Cognito的会话上下文,关键配置如下:

  • 会话Cookie共享:确保SPA和ALB认证流程都依赖Cognito用户池的Domain(即托管UI域名,即使不用托管UI,该域名是会话Cookie的发放源),在用户池配置中设置Cookie的SameSite属性为Lax或None(跨域场景),并将两个应用的前端域名加入用户池的已授权域名列表。
  • SPA端配置:使用Amplify.Auth.signIn时,Amplify配置必须包含用户池Domain及OAuth相关参数(redirectSignIn、responseType等),登录后Cognito会在Domain下生成共享会话Cookie。
  • ALB端配置:ALB认证动作指定同一用户池和应用客户端,回调域名加入应用客户端的允许列表,此时ALB重定向到Cognito认证端点时,会自动识别浏览器中的会话Cookie,无需二次登录。

2. 是否可通过Amplify.Auth.signIn对接Cognito域名实现SSO?

可以,只需在Amplify配置中完善OAuth相关参数,让Amplify.Auth.signIn触发的认证流程生成Cognito Domain下的共享会话Cookie:

  • 在Amplify配置中添加oauth字段,指定domain(Cognito托管UI域名)、redirectSignIn、redirectSignOut、responseType: 'code'等参数。
  • 调用Amplify.Auth.signIn后,Amplify会内部处理认证逻辑,最终在Cognito Domain下设置会话Cookie,ALB端认证时会读取该Cookie实现SSO,无需跳转到托管UI。

3. 是否可将Cognito托管UI登录表单改为日文?

可以,有两种主要方式:

  • 系统语言设置:在Cognito用户池的“语言自定义”中,直接选择日文作为默认语言,系统会自动替换登录页的大部分默认文案(如按钮文本、提示信息)。
  • 自定义消息Lambda:创建Lambda函数并绑定到用户池的“自定义消息触发器”,当触发CustomMessage_SignIn、CustomMessage_ForgotPassword等事件时,返回日文文案覆盖默认内容,支持更精细的文本定制。

4. 除控制台替换Logo和CSS外,是否有其他托管UI定制方式?

有以下几种实用方式:

  • 自定义HTML模板:在Cognito控制台的“托管UI自定义”中上传自定义HTML文件,替换默认的登录、注册等页面结构,可自由添加日文文案、调整布局样式。
  • Locale参数强制语言:跳转托管UI时在URL中添加locale=ja参数,强制页面显示日文文案(需用户池已配置日文语言支持)。
  • 自定义域名绑定:将托管UI绑定到自己的自定义域名,提升品牌一致性,同时可配合CDN实现额外的样式定制。
  • Lambda触发器扩展流程:使用PreSignUp、PostAuthentication等触发器,在认证流程中添加自定义验证步骤或错误提示,增强用户体验。

内容的提问来源于stack exchange,提问作者Jo Kaname

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:18:02