使用Cognito用户池放大CLI身份验证目前有两种主要模式,即使用用户名或电子邮件登录。在前一种情况下,不强制将电子邮件唯一性作为必需的用户属性。
Cognito服务本身支持“也允许使用经过验证的电子邮件地址登录”选项(AWS控制台的“用户池属性”部分),但是只能在创建用户池时进行设置(即,以后不能修改-复选框是禁用)。在允许用户使用用户名或电子邮件进行身份验证的同时,是否可以在用户池中不强制执行重复的电子邮件?
总而言之,我的用例要求:
- 通过Amplify的
Auth.SignUp
注册用户时,在Cognito级别上验证/加强电子邮件属性的唯一性; - 保留基于用户名的登录,但也允许用户使用其电子邮件登录(即
Auth.SignIn
,其中电子邮件或用户名作为用户名参数提供)。