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

如何利用Amazon Cognito实现子域名间的会话共享?

能否通过Amazon Cognito实现同主域下子域名的单点登录?

完全可以实现。Amazon Cognito支持同主域(如domain.com)下多子域名应用的单点登录(SSO),核心是通过共享身份验证Cookie和正确配置用户池与应用客户端来达成。

关键配置步骤:

  • 配置用户池Cookie域:在Cognito用户池的「应用客户端设置」中,将Cookie的Domain设置为根域名.domain.com(注意前缀的点)。这会让Cognito生成的身份验证Cookie被app1.domain.com和app2.domain.com共同识别。
  • 统一OAuth参数配置:
    • 为两个子域名应用分别创建(或复用符合要求的)应用客户端,启用相同的OAuth流(推荐使用Authorization Code Flow以保证安全性)。
    • 分别添加两个应用的回调地址到「Allowed Callback URLs」(如https://app1.domain.com/callback和https://app2.domain.com/callback),同时配置对应的「Allowed Sign-out URLs」。
    • 确保「Allowed Origins」包含两个子域名的HTTPS地址。
  • 应用端适配:两个应用在发起认证请求时,均指向同一个Cognito用户池的授权端点,并使用各自的客户端ID。用户在app1.domain.com登录后,Cognito会在.domain.com域下设置安全Cookie,当访问app2.domain.com时,应用会自动检测该Cookie,直接完成令牌获取流程,无需重复登录。

注意事项:

  • 所有应用必须使用HTTPS协议,Cognito的安全Cookie仅在HTTPS环境下才能跨子域名正常共享。
  • 检查Cookie的Secure、HttpOnly、SameSite属性配置,平衡安全性与兼容性。

内容的提问来源于stack exchange,提问作者Mohamed Anser Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 11:42:03