Cognito - 如何为用户提供使用电子邮件和电话号码登录

问题描述 投票:0回答:1

我有cognito设置允许电子邮件地址和电话号码。这是场景。

  • 注册用户A与电子邮件[email protected]并使用CognitoIdentityServiceProvider#signupusername : [email protected]UserAttributes自动验证电子邮件地址。
  • 使用电话号码123-456-7899更新用户帐户并自动验证电话号码
  • 尝试使用123-456-7899登录
  • 而不是登录用户A,它目前有一个经过验证的电话号码123-456-7899,它创建用户B

有没有办法让用户拥有唯一的电话号码和电子邮件,并能够同时登录?或者注册总是基于最初的username

aws-lambda amazon-cognito
1个回答
0
投票

看起来您的用户池配置了UsernameAttributes,您选择了email和phone_number作为用户名。我同意这种行为很奇怪,你可以最终得到两个不同的用户,两个用户都拥有完全相同的电子邮件和电话号码,两个属性都经过验证。

您是否尝试使用UsernameAliases配置用户池?它允许您指定3个属性(email,phone_number,preferred_username),这些属性将充当用户名别名,并且用户将能够使用其中任何一个登录(假设它们已经过验证)。需要注意的是,他们无法在注册后立即通过电子邮件地址进行身份验证,因为需要先进行验证。

© www.soinside.com 2019 - 2024. All rights reserved.