我可以使用没有用户名的密码注册电子邮件或电话号码,以后再添加别名

Tan*_*nak 6 amazon-web-services amazon-cognito

嗨,我希望我的应用可以使用电子邮件地址或电话号码注册,使用AWS Cognito Pool检查允许电子邮件地址和电话号码(用户可以选择一个).

但我想稍后询问用户的电子邮件地址(如果他们使用电话号码注册,或者如果他们使用电子邮件地址注册,则会询问电话号码)

我发现Cognito Userpool中的电子邮件地址或电话号码选项无法在电话号码和电子邮件地址之间进行别名,而是将其用作用户名.

同时,用户名选项要求我们有一个唯一的用户名进行注册,但用户名在我的应用程序中没有任何意义,我不希望用户在注册时输入多个框.

无论如何,我可以使用AWS Cognito UserPool实现我想要的功能吗?

小智 1

当您开始设置 Cognito 用户池时,如果您选择“让用户使用电子邮件作为用户名”选项,并确保需要电话验证。

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html

然后,当您的用户注册时,如果您自己处理前端 auth/signup/confim 流程,如下所示:https: //docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-身份池-javascript-examples.html

您可以确认任何您想要的方法。我强烈建议您阅读上面的链接并自行处理确认流程。

此外,当您在前端获取用户属性对象时,您可以看到已验证的内容:

{  
   "details":[  
      {  
         "Name":"sub",
         "Value":"ceba8336-4234-4c3d-8abc-af08c002b4de"
      },
      {  
         "Name":"email_verified",
         "Value":"true"
      },
      {  
         "Name":"phone_number_verified",
         "Value":"false"
      },
      {  
         "Name":"email",
         "Value":"r23423423@icloud.com"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)