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

多域名认证场景下AWS Cognito App Client回调URL配置

解决方案

1. 使用通配符回调URL覆盖所有子域名

Cognito App Client支持域名前缀通配符,可以配置一个覆盖所有子域名的回调URL,格式如下:
https://*.example.com/oauth2/idpresponse

核心逻辑:

  • ALB的Cognito认证集成默认用/oauth2/idpresponse作为回调路径,所有域名的认证回调都会走这个路径
  • 通配符*.example.com能匹配你所有的服务子域名(svc1、svc2、svc3等)
  • 登录成功后,Cognito会回调到对应子域名的/oauth2/idpresponse,ALB验证凭证后自动重定向到用户最初访问的原URL

注意事项:

  • 通配符只能放在域名最左侧前缀,不能用于路径部分(比如https://example.com/*不被允许)
  • 生产环境必须使用HTTPS协议,本地测试可临时用HTTP但不推荐

2. 显式添加所有服务域名的回调URL

如果担心通配符的安全风险,可直接在App Client中添加所有服务的回调URL:

  • https://svc1.example.com/oauth2/idpresponse
  • https://svc2.example.com/oauth2/idpresponse
  • https://svc3.example.com/oauth2/idpresponse

Cognito允许单个App Client添加最多100个回调URL,足够覆盖大部分场景,这种方式更精准,适合域名数量较少的情况。

关于“回调URL设为用户原URL”的问题

不能直接将回调URL设置为用户访问的原URL,原因是ALB的Cognito认证流程是固定的:

  1. 用户访问原URL(比如https://svc1.example.com/dashboard)
  2. ALB重定向用户到Cognito登录页
  3. 登录成功后,Cognito必须回调到ALB指定的/oauth2/idpresponse路径,ALB在此处验证Cognito返回的凭证
  4. 验证通过后,ALB才会将用户重定向回最初访问的原URL

回调URL必须指向ALB的认证处理路径,原URL跳转是ALB自动完成的,无需手动配置。

Ingress配置要点

确保Ingress注解中全局配置Cognito认证,示例如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    alb.ingress.kubernetes.io/auth-type: cognito
    alb.ingress.kubernetes.io/auth-idp-cognito: |
      {
        "UserPoolArn": "arn:aws:cognito-idp:region:account-id:userpool/user-pool-id",
        "UserPoolClientId": "your-app-client-id",
        "UserPoolDomain": "your-cognito-domain"
      }
    # 其他ALB相关注解
spec:
  rules:
    - host: svc1.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: svc1-service
                port:
                  number: 80
    - host: svc2.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: svc2-service
                port:
                  number: 80
    # 其他服务路由规则

这样所有域名都会复用同一个App Client和ALB认证配置,满足你的需求。

内容的提问来源于stack exchange,提问作者Tony Chan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:22:50