我有cognito设置允许电子邮件地址和电话号码。这是场景。
A
与电子邮件[email protected]
并使用CognitoIdentityServiceProvider#signup与username : [email protected]
和UserAttributes
自动验证电子邮件地址。123-456-7899
更新用户帐户并自动验证电话号码123-456-7899
登录A
,它目前有一个经过验证的电话号码123-456-7899
,它创建用户B
有没有办法让用户拥有唯一的电话号码和电子邮件,并能够同时登录?或者注册总是基于最初的username
?
看起来您的用户池配置了UsernameAttributes,您选择了email和phone_number作为用户名。我同意这种行为很奇怪,你可以最终得到两个不同的用户,两个用户都拥有完全相同的电子邮件和电话号码,两个属性都经过验证。
您是否尝试使用UsernameAliases配置用户池?它允许您指定3个属性(email,phone_number,preferred_username),这些属性将充当用户名别名,并且用户将能够使用其中任何一个登录(假设它们已经过验证)。需要注意的是,他们无法在注册后立即通过电子邮件地址进行身份验证,因为需要先进行验证。