首页 > 解决方案 > 向在 AWS Cognito 控制台中创建的用户添加自定义属性

问题描述

我有一个使用 Amplify 实现的带有 AWS Cognito 身份验证的应用程序。我不希望用户能够注册,而是管理员将通过 AWS Cognito 用户池控制台创建一个新用户来注册用户。

我为 AWS Cognito 用户池的用户创建了一个自定义属性。我想在创建用户时或创建用户之后为用户的该属性分配一个值。

在 AWS Coginto 用户池控制台中创建用户时,我看不到如何为用户填写任何属性值。

在控制台中打开创建的用户时,我看不到如何为该用户添加属性值。

我可能错过了文档中的某些内容,但有人可以告诉我如何为在 AWS Cognito 用户池控制台中创建的用户添加属性值(包括自定义属性值)。

标签: amazon-web-servicesamazon-cognitoaws-userpools

解决方案


这是非常简单的解决方案。Cognito 控制台不允许输入自定义属性或管理员要求的任何属性。这是常态,因为用户的信息应该由他自己填写。

所以这是这个邀请身份验证流程在 Cognito 中的工作流程:

  • 管理员通过输入用户名,临时密码在控制台中创建新用户(他可以选择是否发送验证电子邮件,并在创建时自动验证电话号码或电子邮件)
  • Cognito 将向用户发送包含验证码或链接的邀请电子邮件codeParameter(如果您要为此用例使用自定义消息 Lambda 触发器触发器,您可以自定义电子邮件消息并将用户名和临时密码放在一起)。此时,您应该包含 URL 以将用户重定向到您应用的更新密码页面。
  • 在此更新页面中,您应该让他自己输入任何必需的属性并更改密码以完成注册(在 Cognito 控制台中,您应该根据需要配置注册时需要获取的任何属性)。

以下是供您查看的有用链接,以了解如何通过 Amplify Lib 完成 Cognito 注册: https ://docs.amplify.aws/lib/auth/manageusers/q/platform/js#complete-new-密码

干杯


推荐阅读