出现此问题的原因是,在执行AdminLinkProviderForUser操作后,Cognito未自动验证主帐号上的电子邮件地址。
为了解决此问题,可以使用AWS SDK for JavaScript中提供的“adminUpdateUserAttributes” API手动验证电子邮件地址。以下是一个示例代码:
var params = {
UserPoolId: 'USER_POOL_ID',
Username: 'USERNAME',
UserAttributes: [
{
Name: 'email_verified',
Value: 'true'
}
]
};
cognitoidentityserviceprovider.adminUpdateUserAttributes(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
在上述代码中,将“USER_POOL_ID”和“USERNAME”替换为您的Cognito用户池ID和要更新的用户名。此代码将使用“adminUpdateUserAttributes” API将“email_verified”属性设置为“true”,从而验证电子邮件地址。
完成此操作后,您可以再次进行AdminLinkProviderForUser操作,并且应该不会再看到未验证的电子邮件地址的错误。