如何通过 CloudFormation 在 Cognito 中要求电子邮件验证?

Posted

技术标签:

【中文标题】如何通过 CloudFormation 在 Cognito 中要求电子邮件验证?【英文标题】:How to require email validation in Cognito through CloudFormation? 【发布时间】:2018-04-08 22:57:28 【问题描述】:

我想我在这里尝试了所有属性:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html

无法选中此框:

我目前的配置:

    CognitoUserPoolGeneral:
      Type: AWS::Cognito::UserPool
      Properties:
        UserPoolName: general
        Policies:
          PasswordPolicy:
            MinimumLength: 6
            RequireLowercase: false
            RequireNumbers: false
            RequireSymbols: false
            RequireUppercase: false
        Schema:
          - AttributeDataType: String
            Name: preferredLocale
            DeveloperOnlyAttribute: false
            Mutable: true
            Required: false
        EmailVerificationMessage: "Here's your verification code: ####. Please provide it inside the application."
        EmailVerificationSubject: "subject"

【问题讨论】:

【参考方案1】:

你可以添加

  AutoVerifiedAttributes:
    - email

到你的Properties 键,像这样:

  UserPool:
    Type: "AWS::Cognito::UserPool"
    Properties:
      UserPoolName: !Sub $AuthName-user-pool
      AutoVerifiedAttributes:
        - email
      Policies:.....

有关创建 Cognito 资源的 CloudFormation 模板的优秀示例,请参阅:

https://gist.github.com/singledigit/2c4d7232fa96d9e98a3de89cf6ebe7a5

【讨论】:

等等。 “AutoVerifiedAttributes”如何转换为“需要验证”?? @Birowsky 我同意 100%,AutoVerifiedAttributes 是一个可怕的名字。 意思是这样的:自动启动邮箱验证我看的时候还以为是:邮箱不需要验证,设置为已验证自动. 如果我将电子邮件和电话号码都添加到此字段,它会验证两个属性吗?还是任何一个? @YashKalwani 从未尝试过,但我猜是的,因为它接受一个数组。

以上是关于如何通过 CloudFormation 在 Cognito 中要求电子邮件验证?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 CloudFormation 禁用 Cognito 用户注册?

如何通过 cloudformation 部署 opsworks 应用程序?

如何通过 CloudFormation 在 Cognito 中要求电子邮件验证?

geotrellis使用(三十九)COG 写入更新

如何通过 Cloudformation 在 Beanstalk 实例上获取 SSL 证书

如何通过 CloudFormation 配置“预令牌生成”触发器?