【发布时间】:2018-10-09 18:09:12
【问题描述】:
是否可以在创建池后以及使用池后添加 Cognito 其他自定义或标准用户属性?
换句话说,池的 Schema 是完全锁定的,还是我们可以向它添加更多自定义属性?
【问题讨论】:
标签: amazon-web-services amazon-cognito
是否可以在创建池后以及使用池后添加 Cognito 其他自定义或标准用户属性?
换句话说,池的 Schema 是完全锁定的,还是我们可以向它添加更多自定义属性?
【问题讨论】:
标签: amazon-web-services amazon-cognito
在 AWS Cognito 上,您有两种类型的属性:
标准属性:这些属性是在创建池时选择的,无法更改。
自定义属性:这些属性可以添加。一旦添加,就无法删除或更改
【讨论】:
@ThomasVd Berge 有点正确,但答案需要更完整和更有帮助。目前,AWS 设置的自定义属性很差。例如,您无法找到您在控制台中输入的字段,这些字段包含在各种 JS SDK api 返回的用户对象中,除非您在其中包含值。为此,您必须使用 CLI 输入值,这对于旨在让用户使用 GUI 输入数据的真实应用程序是不可行的。
adminCreateUser api 文档说明了这一点: “对于自定义属性,您必须在属性名称前添加 custom: 前缀。”但是,除非您在我的编辑中将其字符串化,否则这会使 JavaScript 崩溃。
编辑:
我添加了用于创建用户表单的代码。通过此设置,我可以添加用户 ID,该字段将显示在控制台的返回对象和用户的 Cognito 数据库中。
如果您想将数据添加到自定义字段并想对它做一些事情,我上面所说的仍然是正确的。以这种方式添加具有界面的用户是可行的。
const createUserParams = {
...
UserAttributes: [
{
Name: 'custom:user_id',
Value: enteredData.user_id
},
【讨论】: