AWS Cognito:用户可以使用UNCONFIRMED电子邮件登录

时间:2020-06-25 14:27:46

标签: amazon-web-services amazon-cognito

我有一个用于身份验证的应用程序,用户可以使用AWS Cognito进行注册并使用其电子邮件登录。

这些是池的“用户名属性”属性:(无服务器yml)

Properties:
  UserPoolName: ${self:service.name}-pool-${self:provider.stage}
  UsernameAttributes:
  - email
  AutoVerifiedAttributes:
  - email

我正面临以下情况:

  • 用户已注册并登录
  • 然后,当用户更改其EMAIL地址时
  • 发送验证电子邮件以确认新电子邮件地址

,如果用户不确认新的电子邮件地址,则仍然可以登录。 Cognito用户状态为CONFIRMED,用户电子邮件状态为CONFIRMED。

我使用以下方式更新用户电子邮件:

let params = {
    AccessToken: token,
    UserAttributes: [
      {Name: 'custom:type', Value: data.type},
      {Name: 'name', Value: data.name},
      {Name: 'email', Value: data.email}
    ],
    ClientMetadata: ['update']
  };
let res = await this.cognitoIdentityService.updateUserAttributes(params).promise();

我想防止 Cognito用户能够在未确认新电子邮件地址

的情况下登录

我对Cloudformation模板中的AutoVerifiedAttributes感到困惑。 注册后,用户必须验证电子邮件地址。

我应该从AutoVerifiedAttributes中删除电子邮件吗?

0 个答案:

没有答案