本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新用户群体配置
要在中更改 Amazon Cognito 用户池的设置 Amazon Web Services Management Console,请浏览用户池设置中基于功能的选项卡,并按照本指南其他部分所述更新字段。创建用户群体后,您无法更改一些设置。如果您想要更改以下设置,您必须创建新的用户群体或应用程序客户端。
- 用户池名称
-
API 参数名称:PoolName
分配给用户群体的友好名称。要更改用户群体的名称,请创建新的用户群体。
- Amazon Cognito 用户群体登录选项
-
API 参数名称:AliasAttributes和 UsernameAttributes
用户登录时可以作为用户名传递的属性。创建用户群体时,您可以选择允许使用用户名、电子邮件地址、电话号码或首选用户名进行登录。要更改用户群体登录选项,请创建新的用户群体。
- Make user name case sensitive(使用户名区分大小写)
-
API 参数名称:UsernameConfiguration
当您创建的用户名与其他用户名(字母大小写除外)匹配时,Amazon Cognito 可以将其视为同一用户或唯一用户。有关更多信息,请参阅 用户池区分大小写。要更改区分大小写,请创建新的用户群体。
- 客户端密钥
-
API 参数名称:GenerateSecret
创建应用程序客户端时,可以生成客户端密钥,以便只有受信任的来源才能向用户群体发出请求。有关更多信息,请参阅 用户池应用程序客户端。要更改客户端密钥,请在同一用户群体中创建新的应用程序客户端。
- 必需的属性
-
API 参数名称:架构
当用户注册时或当您创建属性时,用户必须为这些属性提供值。有关更多信息,请参阅 用户池属性。要更改必需的属性,请创建新的用户群体。
- 自定义属性
-
API 参数名称:架构
具有自定义名称的属性。您可以更改用户自定义属性的值,但不能从用户群体中删除自定义属性。有关更多信息,请参阅 用户池属性。如果达到自定义属性的最大数量并且您想要修改列表,请创建新的用户群体。
短信配置
在用户池中激活 SMS 消息后,您无法将其停用。
-
如果您在创建用户池时选择配置短信,则在完成设置后无法停用 SMS。
-
您可以在自己创建的用户池中激活 SMS 消息,但之后就无法停用 SMS。
-
Amazon Cognito 可以使用短信进行用户账户邀请和恢复、属性验证和多因素身份验证 (MFA)。激活 SMS 消息后,您可以随时为这些功能开启或关闭 SMS 消息。
-
短信配置包括您委托给 Amazon Cognito 的 IAM 角色,用于通过亚马逊 SNS 发送消息。您可以随时更改分配的角色。
使用 Amazon SDK 或 REST API 更新用户池 Amazon CDK
在 Amazon Cognito 控制台中,您可以一次更改一个参数的用户池设置。例如,要添加 Lambda 触发器,您可以选择添加 Lambda 触发器,然后选择函数和触发器类型。Amazon Cognito 用户池 API 的结构是,用户池和应用程序客户端的更新操作需要用户池的全套参数。但是,控制台会使用您的其他用户池设置透明地自动执行此更新操作。
有时你可能会发现,当更新与你要更改的设置无关时,你 Amazon Web Services 账户 可能会发现其他地方的更改可能会导致更新生成错误。例如,已删除的 Amazon SES 身份或 IAM 权限的 Amazon WAF更改。如果其中一个当前参数不再有效,则在修复该参数之前,您无法更新设置。遇到此类错误时,请检查错误响应并验证其提及的设置。
Amazon Cognito 用户池 REST API 和Amazon 软件开发工具包
-
从描述现有资源配置的操作中捕获输出。
-
更改设置后修改输出。
-
在更新资源的操作中发送修改后的配置。
以下过程使用 UpdateUserPoolAPI 操作更新您的配置。同样的方法适用于不同的输入字段 UpdateUserPoolClient。
重要
如果您未为现有参数提供值,Amazon Cognito 将它们设置为默认值。例如,如果您有现有的 LambdaConfig
,然后提交具有空 LambdaConfig
的 UpdateUserPool
,则会删除为用户群体触发器分配的所有 Lambda 函数。当您想自动更改用户群体配置时,请相应地进行规划。
-
使用捕获用户池的现有状态 DescribeUserPool。
-
设置
DescribeUserPool
的输出的格式以与UpdateUserPool
的请求参数匹配。从输出 JSON 中删除以下顶级字段及其子对象。-
Arn
-
CreationDate
-
CustomDomain
-
使用 UpdateUserPoolDomainAPI 操作更新此字段。
-
-
Domain
-
使用 UpdateUserPoolDomainAPI 操作更新此字段。
-
-
EmailConfigurationFailure
-
EstimatedNumberOfUsers
-
Id
-
LastModifiedDate
-
Name
-
SchemaAttributes
-
SmsConfigurationFailure
-
Status
-
-
确认生成的 JSON 与
UpdateUserPool
的请求参数匹配。 -
修改任何您想要在生成的 JSON 中更改的参数。
-
提交
UpdateUserPool
API 请求,同时将您修改后的 JSON 作为请求输入。
您还可以在 Amazon CLI中,在 update-user-pool
的 --cli-input-json
参数中使用这一修改后的 DescribeUserPool
输出。
或者,运行以下 Amazon CLI 命令为接受的输入字段生成空值的 JSON。update-user-pool
然后,您可以使用用户群体中的现有值填充这些字段。
aws cognito-idp update-user-pool --generate-cli-skeleton --output json
运行以下命令以为应用程序客户端生成相同的 JSON 对象。
aws cognito-idp update-user-pool-client --generate-cli-skeleton --output json