AWS Cognito UserPool - 恢复选项

Posted

技术标签:

【中文标题】AWS Cognito UserPool - 恢复选项【英文标题】:AWS Cognito UserPool - Recovery Option 【发布时间】:2020-07-03 20:08:18 【问题描述】:

我确实看到了此处列出的 RecoveryOption https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html

但是在 UserPool 中,我没有看到 RecoveryOption https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html

任何人已经在 Cloudformation 中使用过 RecoveryOption。

如果这是文档问题或相关限制,请告知。

【问题讨论】:

【参考方案1】:

我已经找到了 RecoveryOption。它在 AccountRecoverySetting 中 https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-accountrecoverysetting

【讨论】:

【参考方案2】:

RecoveryOptions 是 RecoveryMechanism 的一部分,它是 AccountRecoverySetting 的一部分:


  "RecoveryMechanisms" : [ RecoveryOption, ... ]

这是一个具有恢复选项的用户池示例,将所有内容放在 CloudFormation 模板中,如下所示:

  testUserPool:
    DependsOn: [ cognitoSMSRole ]
    Type: AWS::Cognito::UserPool
    Properties:
      AccountRecoverySetting:
        RecoveryMechanisms: 
          - Name: verified_email
            Priority: 1
          - Name: verified_phone_number
            Priority: 2
      AdminCreateUserConfig: 
          AllowAdminCreateUserOnly: False
      AutoVerifiedAttributes: 
        - phone_number
      EnabledMfas: 
        - SMS_MFA
      MfaConfiguration: OPTIONAL
      Policies: 
        PasswordPolicy: 
          MinimumLength: 8
          RequireLowercase: True
          RequireNumbers: True
          RequireSymbols: True
          RequireUppercase: True
          TemporaryPasswordValidityDays: 7
      Schema: 
        - AttributeDataType: String
          DeveloperOnlyAttribute: False
          Mutable: False
          Name: name
          Required: True
        - AttributeDataType: String
          DeveloperOnlyAttribute: False
          Mutable: False
          Name: last_name
          Required: False
      SmsConfiguration:
          ExternalId: !Sub cognito-sms-role-prod
          SnsCallerArn: !GetAtt cognitoSMSRole.Arn
      UsernameAttributes: 
        - phone_number
      UsernameConfiguration: 
        CaseSensitive: False
      UserPoolName: !Sub UserPool-prod

【讨论】:

以上是关于AWS Cognito UserPool - 恢复选项的主要内容,如果未能解决你的问题,请参考以下文章

带有 Cognito 的 AWS Lambda API 网关 - 如何使用 IdentityId 访问和更新 UserPool 属性?

我们可以使用 Cloudformation 为 Cognito UserPool 定义社交提供者吗?

通过 CloudFormation 部署 AWS UserPool 并更新属性

AWS Cognito:注册/登录后如何在 .Net 中发出身份验证请求

如何在 AWS Cognito 中实施组限制访问

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