在AWS Cognito中,为现有用户设置临时密码,并将状态设置为“ Enabled / FORCE_CHANGE_PASSWORD”

时间:2019-06-04 17:09:14

标签: c# vb.net amazon-cognito

是否有一个管理API为现有用户设置临时密码并将帐户设置回“已启用/ FORCE_CHANGE_PASSWORD”?

我们正处于将旧的winform应用程序中的身份验证更改为使用AWS Cognito的早期阶段。我们不允许指望有电子邮件或短信(车间)的用户。我们在池中创建了新用户,并提供了第一次临时密码。用户处于“已启用/ FORCE_CHANGE_PASSWORD”状态。我们对此进行了测试,当他们第一次使用临时密码登录时,我们遇到了Cognito挑战,然后他们获得了Enter new password屏幕。

除设置密码和帐户状态的AdminCreateUser之外,我找不到任何页面或文档。所有人似乎都依赖于经过验证的电子邮件或电话的流量。

我的“ google-foo”可能已关闭,因此提出问题。

这是我们创建的用于添加用户的控制台应用程序中的代码...

            var request = new AdminCreateUserRequest()
            {
                Username = user.COGNITO_ID,
                UserPoolId = COGNITO_POOL_ID_USEAST,
                TemporaryPassword = user.Password
            };

            var cognitoClient = new AmazonCognitoIdentityProviderClient(creds, Amazon.RegionEndpoint.USEast1);

            var result = cognitoClient.AdminCreateUserAsync(request).Result;

            return "User created as Enabled / FORCE_CHANGE_PASSWORD";

我可以删除并重新添加用户(他们没有属性),但是想要避免这种情况。

1 个答案:

答案 0 :(得分:0)

您可以使用AdminUpdateUserAttributesAccount Status更新为FORCE_CHANGE_PASSWORD。如果这样不起作用,您可以简单地添加一个自定义属性,该属性充当您要禁用的帐户的标志。然后,您可以简单地添加一个lambda帖子登录名,该登录名将检查该标志并强制用户更改其密码。