在池创建后添加Cognito自定义属性?

时间:2018-04-29 13:26:11

标签: amazon-web-services amazon-cognito

是否可以在创建池后添加Cognito其他自定义或标准用户属性以及使用池后?

换句话说,游泳池的架构是完全锁定的,还是我们可以为它添加更多自定义属性?

2 个答案:

答案 0 :(得分:2)

在AWS Cognito上,您有两种类型的属性:

  • 标准属性:创建池时选择了这些属性,无法更改

  • 自定义属性:可以添加这些属性。添加后,无法删除或更改

答案 1 :(得分:2)

@ThomasVdBerge在某种程度上是正确的,但是答案需要更加完整和有用。目前,AWS无法很好地设置自定义属性。例如,除非您在其中输入了值,否则找不到各种JS SDK API返回的用户对象中包含的在控制台中输入的字段。为此,您必须使用CLI输入值,这对于真正的应用程序来说是不可行的,这些应用程序旨在让用户使用GUI输入数据。

adminCreateUser api文档指出: “对于自定义属性,必须在属性名称之前添加custom:前缀。”但是,这会导致JavaScript崩溃,除非您在我的编辑中将其字符串化如下。

编辑:

我添加了用于创建用户表单的代码。通过此设置,我可以添加用户ID,并且该字段将显示在控制台中的返回对象以及用户的Cognito数据库中。

如果您要将数据添加到自定义字段并要对其进行某些操作,我上面所说的仍然正确。通过这种方式向用户添加界面是可行的。

const createUserParams = {
    ...
    UserAttributes: [
       {
       Name: 'custom:user_id',
       Value: enteredData.user_id
       },