通过 AWS CLI 将 Cognito 添加到负载均衡器侦听器

问题描述 投票:0回答:1

我想利用 AWS CLI 为我的应用程序负载均衡器创建侦听器。

aws elbv2 create-listener \
  --load-balancer-arn $ALB_ARN \
  --protocol HTTPS \
  --port 443 \
  --default-actions "Type=forward,TargetGroupArn=$TG_ARN" \
  --certificates CertificateArn=$CERT_ARN

我能够在端口 443 上创建一个侦听器以转发到目标组。 shell 变量表示应用程序负载均衡器 (ALB)、目标组 (TG) 和证书 (CERT) 的 arn。

如何向此命令添加现有用户池的 Cognito 身份验证? (修改现有侦听器或创建新侦听器都可以,但我需要通过 AWS CLI 来执行此操作)。

非常感谢!

amazon-web-services amazon-cognito aws-cli
1个回答
0
投票

您需要首先创建一个包含上述操作的

JSON
文件。以下是取自link的示例:

[{
    "Type": "authenticate-cognito",
    "AuthenticateCognitoConfig": {
        "UserPoolArn": "arn:aws:cognito-idp:region-code:account-id:userpool/user-pool-id",
        "UserPoolClientId": "abcdefghijklmnopqrstuvwxyz123456789",
        "UserPoolDomain": "userPoolDomain1",
        "SessionCookieName": "my-cookie",
        "SessionTimeout": 3600,
        "Scope": "email",
        "AuthenticationRequestExtraParams": {
            "display": "page",
            "prompt": "login"
        },
        "OnUnauthenticatedRequest": "deny"
    },
    "Order": 1
},
{
    "Type": "forward",
    "TargetGroupArn": "arn:aws:elasticloadbalancing:region-code:account-id:targetgroup/target-group-name/target-group-id",
    "Order": 2
}]

在此,您需要填写行

UserPoolArn
UserPoolClientId
UserPoolDomain
TargetGroupArn
和可选的
SessionCookieName
以满足您的部署。全部填写完毕后,下面的 CLI 将使用身份验证配置创建一个新的 HTTPS 侦听器:

aws elbv2 create-listener \
  --load-balancer-arn $ALB_ARN \
  --protocol HTTPS \
  --port 443 \
  --certificates CertificateArn=$CERT_ARN \
  --default-actions file://config.json

config.json
是带有设置的文件

© www.soinside.com 2019 - 2024. All rights reserved.