我已将Cognito设置为同时允许电子邮件地址和电话号码。这是场景。
A
注册用户test@test.com
,并使用CognitoIdentityServiceProvider#signup和username : test@test.com
和UserAttributes
作为电子邮件地址来自动验证电子邮件。123-456-7899
更新用户帐户,并自动验证电话号码123-456-7899
A
的用户123-456-7899
,而是创建用户B
有什么方法可以让用户拥有唯一的电话号码和电子邮件,并能够同时登录?还是总是根据初始的username
进行注册?
答案 0 :(得分:0)
您的用户池似乎已配置了UsernameAttributes,并且您同时选择了email和phone_number作为用户名。我同意这种行为很奇怪,您最终可以拥有两个不同的用户,两个用户的电子邮件和电话号码完全相同,并且两个属性都经过验证。
您是否尝试过使用UsernameAliases配置用户池?它允许您指定3个属性(电子邮件,电话号码,preferred_username),这些属性将用作用户名别名,并且用户将能够使用其中的任何一个登录(假设已验证)。请注意,注册后他们将无法立即使用该电子邮件地址进行身份验证,因为该地址需要首先进行验证。