我有一个用于身份验证的应用程序,用户可以使用AWS Cognito进行注册并使用其电子邮件登录。
这些是池的“用户名属性”属性:(无服务器yml)
Properties:
UserPoolName: ${self:service.name}-pool-${self:provider.stage}
UsernameAttributes:
- email
AutoVerifiedAttributes:
- 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中删除电子邮件吗?