更新用户群体配置 - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新用户群体配置

要在 Amazon Web Services Management Console中更改 Amazon Cognito 用户群体的设置,请浏览用户群体设置中基于功能的选项卡,并按照本指南其他部分的描述更新字段。创建用户群体后,您无法更改一些设置。如果您想要更改以下设置,您必须创建新的用户群体或应用程序客户端。

用户池名称

API 参数名称:PoolName

分配给用户群体的友好名称。要更改用户群体的名称,请创建新的用户群体。

Amazon Cognito 用户群体登录选项

API 参数名称:AliasAttributesUsernameAttributes

用户登录时可以作为用户名传递的属性。创建用户群体时,您可以选择允许使用用户名、电子邮件地址、电话号码或首选用户名进行登录。要更改用户群体登录选项,请创建新的用户群体。

Make user name case sensitive(使用户名区分大小写)

API 参数名称:UsernameConfiguration

当您创建的用户名与其他用户名(字母大小写除外)匹配时,Amazon Cognito 可以将其视为同一用户或唯一用户。有关更多信息,请参阅用户池区分大小写。要更改区分大小写,请创建新的用户群体。

客户端密钥

API 参数名称:GenerateSecret

创建应用程序客户端时,可以生成客户端密钥,以便只有受信任的来源才能向用户群体发出请求。有关更多信息,请参阅用户池应用程序客户端。要更改客户端密钥,请在同一用户群体中创建新的应用程序客户端。

必需的属性

API 参数名称:架构

当用户注册时或当您创建属性时,用户必须为这些属性提供值。有关更多信息,请参阅用户池属性。要更改必需的属性,请创建新的用户群体。

自定义属性

API 参数名称:架构

具有自定义名称的属性。您可以更改用户自定义属性的值,但不能从用户群体中删除自定义属性。有关更多信息,请参阅用户池属性。如果达到自定义属性的最大数量并且您想要修改列表,请创建新的用户群体。

使用 Amazon Cognito API 或 Amazon CLI 更新用户群体

您可以使用自动化工具 [如 Amazon Cognito API 或 Amazon Command Line Interface (Amazon CLI)] 更改 Amazon Cognito 用户群体的配置。以下过程使用 UpdateUserPoolAPI 操作更新您的配置。同样的方法适用于不同的输入字段 UpdateUserPoolClient

重要

如果您未为现有参数提供值,Amazon Cognito 将它们设置为默认值。例如,如果您有现有的 LambdaConfig,然后提交具有空 LambdaConfigUpdateUserPool,则会删除为用户群体触发器分配的所有 Lambda 函数。当您想自动更改用户群体配置时,请相应地进行规划。

  1. 使用捕获用户池的现有状态 DescribeUserPool

  2. 设置 DescribeUserPool 的输出的格式以与 UpdateUserPool请求参数匹配。从输出 JSON 中删除以下顶级字段及其子对象。

    • Arn

    • CreationDate

    • CustomDomain

    • Domain

    • EmailConfigurationFailure

    • EstimatedNumberOfUsers

    • Id

    • LastModifiedDate

    • Name

    • SchemaAttributes

    • SmsConfigurationFailure

    • Status

  3. 确认生成的 JSON 与 UpdateUserPool请求参数匹配。

  4. 修改任何您想要在生成的 JSON 中更改的参数。

  5. 提交 UpdateUserPool API 请求,同时将您修改后的 JSON 作为请求输入。

您还可以在 Amazon CLI 中,在 update-user-pool--cli-input-json 参数中使用这一修改后的 DescribeUserPool 输出。

或者,运行以下 Amazon CLI 命令,为 update-user-pool 生成已接受输入字段为空值的 JSON。然后,您可以使用用户群体中的现有值填充这些字段。

aws cognito-idp update-user-pool --generate-cli-skeleton --output json

运行以下命令以为应用程序客户端生成相同的 JSON 对象。

aws cognito-idp update-user-pool-client --generate-cli-skeleton --output json