AWS Cognito 将用户状态更改为禁用

Nav*_*arg 5 javascript amazon-web-services aws-sdk aws-cognito

我想使用代码更改用户状态。

我尝试了很多代码,但没有任何效果对我有用。任何人都可以提供完整的工作示例。有时我收到此错误 CognitoIdentityCredentials 无权执行:cognito-idp:AdminDisableUser on resource

var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();


AWS.config.update({
    region: 'us-west-2',
    credentials: new AWS.CognitoIdentityCredentials({
        IdentityPoolId: 'us-west-2:6afd2a7c-b3cd-472f-bead-fdbde8a84a26',
    })
});


var params = {
    UserPoolId: 'us-west-2_Klsadmic5', /* required */
    Username: 'alphagate6' /* required */
};
cognitoidentityserviceprovider.adminDisableUser(params, function(err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else     console.log(data);           // successful response
});
Run Code Online (Sandbox Code Playgroud)

小智 2

参数和调用似乎没问题。该错误意味着您的 lambda 函数的角色(我假设此代码片段来自您的 lambda 函数)没有执行adminDisableUser 的权限。

您需要找到 lambda 函数的 IAM 角色并附加允许此操作的策略。例如:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAdminDisableUser",
            "Effect": "Allow",
            "Action": "cognito-idp:AdminDisableUser",
            "Resource": "*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

您可能还需要指定某些资源,以不允许每个用户池执行此操作。