首页 > 解决方案 > 注册时唯一的用户名和唯一的电子邮件放大 Cognito React

问题描述

我正在研究反应项目。我遇到的问题是,我可以创建唯一的用户名或唯一的电子邮件。如果我选择用户名是唯一的,我可以使用相同的电子邮件注册多个帐户,但我不会那样,如果我选择电子邮件作为唯一的用户名是由 aws 自动生成的,这也不是我想要的。有没有可能让我拥有唯一用户选择的用户名和唯一电子邮件的方法。如果可能的话,我希望在 CloudFormation文件 amplify/backend/auth/{projectname}/template.yaml期间以编程方式发生这种情况

# BEGIN USER POOL RESOURCES
  UserPool:
  # Created upon user selection
  # Depends on SNS Role for Arn if MFA is enabled
    Type: AWS::Cognito::UserPool
    UpdateReplacePolicy: Retain
    Properties:
      UserPoolName: !If [ShouldNotCreateEnvResources, !Ref userPoolName, !Join ['',[!Ref userPoolName, '-', !Ref env]]]
      
      
      UsernameConfiguration:
        CaseSensitive: false
      
      Schema:
        
        -
          Name: email
          Required: true
          Mutable: true
        
      
      
      
      AutoVerifiedAttributes: !Ref autoVerifiedAttributes
      
      
      EmailVerificationMessage: !Ref emailVerificationMessage
      EmailVerificationSubject: !Ref emailVerificationSubject
      
      Policies:
        PasswordPolicy:
          MinimumLength: !Ref passwordPolicyMinLength
          RequireLowercase: false
          RequireNumbers: false
          RequireSymbols: false
          RequireUppercase: false
      
      MfaConfiguration: !Ref mfaConfiguration
      SmsVerificationMessage: !Ref smsVerificationMessage
      SmsAuthenticationMessage: !Ref smsAuthenticationMessage
      SmsConfiguration:
        SnsCallerArn: !GetAtt SNSRole.Arn
        ExternalId: dogeco219bfa38_role_external_id
    
  

标签: amazon-cloudformationamazon-cognitoaws-amplifyaws-appsync

解决方案


推荐阅读