qcq*_*cqp 9 authentication amazon-web-services amazon-cognito aws-amplify aws-amplify-cli
使用 Cognito 用户池放大 CLI 身份验证目前有两种主要模式,使用用户名或电子邮件登录。在前一种情况下,电子邮件唯一性作为必需的用户属性没有被强制执行。
Cognito 服务本身支持“还允许使用经过验证的电子邮件地址登录”选项(AWS 控制台,用户池属性部分),但只能在创建用户池时进行设置(即以后无法修改 - 复选框已禁用)。是否可以在允许用户使用用户名或电子邮件进行身份验证的同时在用户池中强制执行无重复电子邮件?
总而言之,我的用例需要:
Auth.SignUp;Auth.SignIn使用电子邮件或用户名作为用户名参数提供)。预注册触发器应该满足您的用例。
您可以创建自定义 lambda,在其中定义强制执行唯一电子邮件地址的逻辑。然后,您向 Cognito 注册此 lambda,因此它将在注册之前被调用,并且如果电子邮件已存在,您将有机会拒绝注册。
要检查是否已存在具有相同电子邮件地址的用户,您可以使用 Cognito 的ListUsers API,并将过滤器设置为电子邮件地址 = 注册请求的电子邮件地址。如果返回任何结果,则拒绝注册请求。
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |