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

Sco*_*itt 5 c# vb.net amazon-cognito

是否有管理 API 可以为现有用户设置临时密码并将帐户设置回“Enabled / FORCE_CHANGE_PASSWORD”?

我们正处于更改旧 winform 应用程序中的身份验证以使用 AWS Cognito 的早期阶段。我们不能指望拥有电子邮件或短信(工厂车间)的用户。我们已在池中创建了新用户并提供了首次临时密码。用户处于“已启用/FORCE_CHANGE_PASSWORD”状态。我们对此进行了测试,当他们第一次使用临时密码登录时,我们会收到 Cognito 质询,然后他们会看到输入新密码的屏幕。

除了 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";
Run Code Online (Sandbox Code Playgroud)

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

Nin*_*wad 3

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

  • 您可以使用它来设置临时密码。https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html 我认为如果您选择临时,这将自动处理强制更改。试一试。 (3认同)