为 AWS Cognito 用户设置密码的最简单方法是什么?

为 AWS Cognito 用户设置密码的最简单方法是什么?

在 AWS Cognito 控制台中,您只能为用户设置临时密码,并且用户必须在首次登录时更改密码。由于我们主要使用 Facebook 登录,并且仅在特殊情况下(例如管理脚本)才使用直接用户池用户,因此我们根本没有实施密码登录流程。

是否有任何公开可用的(例如 AWS 托管)页面可用于设置任何用户池中的用户的密码?或者是否有一种简单的方法可以为我们自己创建一个页面?

我找到了一种通过 AppSync 控制台执行此操作的方法,但它非常麻烦(将在答案中写出来以供参考)。

答案1

我发现使用 AppSync 控制台的麻烦方式是:

  1. 打开AppSync 控制台在适当的区域
  2. 使用“从头构建”选项创建新的 API
  3. 转到“设置”并将“默认授权模式”更改为“Amazon Cognito 用户池”,选择适当的用户池并保存
  4. 转到查询并选择使用用户池登录
  5. 输入用户池cognito_app_clientWebApp客户端ID、用户名和临时密码
  6. 您将收到更改密码的提示(您可以填写完全相同的临时密码)

答案2

我遇到了同样的问题并发现以下内容很有帮助:

https://github.com/aws-amplify/amplify-js/issues/24

https://dev.classmethod.jp/cloud/aws/change-cognito-user-force_change_passwore-to-confirmed/(这更有帮助,您只需按顺序操作提供的步骤即可,但页面是日文,因此请使用谷歌翻译)

唯一的方法是使用 AWS CLI。如果您经常需要这样做,建议编写脚本。

相关内容