当电子邮件不是别名时,是否可以禁止更改为已使用的电子邮件?

时间:2019-01-28 15:31:01

标签: amazon-cognito

我们已经创建了一个用户池,而没有将电子邮件设置为username的别名。我们不想经历重新创建用户池的麻烦,但是我们想强制执行唯一的电子邮件。

当用户在我们的网站上注册时,我们使用UserPool.signUp方法对其进行注册。

export function* registerUser(...) {
    ...
    const userPool = new CognitoUserPool(poolData);
    return yield new Promise((resolve, reject) => {
        userPool.signUp(username, password, attributes, [], (err, result) => {
            if (err) {
                reject(err);
            }
            resolve(result);
        });
    });
}

当用户提供已经使用的电子邮件时,预注册lambda返回错误。到目前为止一切顺利。

{"__type":"UserLambdaValidationException","message":"PreSignUp failed with error Email already exists."}

但是还有cognitoUser.updateAttributes({ email }, ...) API,允许用户更改电子邮件。

很遗憾,我在Cognito用户界面中找不到任何updateAttributes触发器。

是否可以禁止用户更改为已在使用中的电子邮件?

0 个答案:

没有答案