使用Terraform创建AWS Cognito用户池会禁用电子邮件验证。

7

我正在使用 Terraform 0.12.20 创建 Cognito 用户池。

我想通过向用户的电子邮件发送代码来启用电子邮件验证。 我可以在 UI 中看到如何执行此操作,但使用 Terraform 不知道如何实现。Cognito API 文档似乎没有任何关于启用验证的参考信息。

我的 Terraform 资源如下:

resource "aws_cognito_user_pool" "pool" {
  name = "pool"

  username_attributes = ["email"]

  lambda_config {
    pre_sign_up = var.pre_sign_up_lambda.arn
  }

  verification_message_template {
    default_email_option = "CONFIRM_WITH_CODE"
  }

  email_configuration {
    email_sending_account = "COGNITO_DEFAULT"
  }

  password_policy {
    minimum_length    = 8
    require_lowercase = true
    require_numbers   = true
    require_symbols   = true
    require_uppercase = true
  }
}
2个回答

10

经过一些试验和错误,我发现我曾经误解了文档。

aws_cognito_user_pool 资源中有一个 auto_verified_attributes 列表。这是您想要启用验证的属性列表。

例如,在我的上面的资源中,我需要添加 auto_verified_attributes = ["email"] ,这将启用电子邮件验证功能并生成验证码。


1

我也遇到了同样的问题,自动验证属性(auto_verified_attributes)对我也有用,但是文档上写的是不同的:

auto_verified_attributes - (可选)要自动验证的属性。可能的值:电子邮件(email),电话号码(phone_number)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接