配置用户池应用程序客户端 - Amazon Cognito
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

配置用户池应用程序客户端

应用程序是用户池中具有调用未验证API操作(没有验证用户的操作)权限的实体。示例包括注册、登录和处理忘记密码的操作。要调用这些API操作,您需要应用程序客户端ID和可选的客户端密钥。您有责任保护任何应用程序客户端ID或密钥,以便只有经过授权的客户端应用程序才能调用这些未验证的操作。

您可以为用户池创建多个应用程序。通常,应用程序对应于应用程序的平台。例如,您可以为服务器端应用程序和不同的Android应用程序创建应用程序。每个应用程序都有各自的应用程序客户端 ID。

创建应用程序时,您可以选择为该应用程序创建一个私有密钥。如果为应用程序创建了一个私有密钥,则必须提供该私有密钥才能使用应用程序。基于浏览器的应用程序写入JavaScript可能不需要具有密钥的应用程序。

私有密钥在应用程序创建后即无法更改。如果您要轮换正在使用的私有密钥,可以创建一个具备新私有密钥的新应用程序。您也可以删除应用程序,以便阻止使用该应用程序客户端 ID 的应用程序的访问。

创建应用程序客户端(控制台)

  1. 在用户池仪表板上,选择 创建用户池.

  2. 输入 池名称.

  3. 选择 Review defaults

  4. 选择 添加应用程序客户端.

  5. 选择 Add an app client

  6. 输入 应用程序客户端名称.

  7. 指定应用程序的 刷新令牌到期. 默认值是 30。您可以将其更改为1小时至10年之间的任何值。

  8. 指定应用程序的 访问令牌到期. 默认值为1小时。您可以在5分钟和24小时之间将其更改为任何值。

  9. 指定应用程序的 ID令牌到期. 默认值为1小时。您可以在5分钟和24小时之间将其更改为任何值。

    重要

    如果您使用托管UI并在不到一小时的时间内设置令牌,最终用户将能够基于其会话cookie获取新令牌,当前修复时间为一小时。

  10. 默认情况下,用户池会为您的应用程序生成一个客户端密钥。如果您不希望出现这种情况,请清除生成客户端密钥

  11. 如果您的服务器应用程序需要开发人员凭据(使用 签名版本4)并且不使用 安全远程密码(SRP)身份验证 选择 启用用于身份验证的管理API的用户名密码身份验证(ALLOW_ADMIN_USER_PASSWORD_AUTH) 启用服务器端身份验证。有关更多信息,请参阅 管理员身份验证流程。)

  12. 低于 防止用户存在错误,选择 传承已启用. 有关详细信息,请参阅 管理错误响应.

  13. 默认情况下,用户池会允许您的应用程序读取和写入所有属性。如果要为应用设置不同的权限,请执行下列步骤或选择 创建应用程序客户端 完成。

    1. 选择设置属性读取和写入权限

    2. 执行以下操作之一来设置读取和写入权限:

      • 选择一个或多个范围。每个范围都是一组标准属性。有关更多信息,请参阅标准 OIDC 范围列表。

      • 选择单个标准或自定义属性。

    注意

    您无法删除任何应用程序中写入权限的必需属性。

  14. 选择 Create app client

  15. 如果您希望创建另一个应用程序,请选择添加应用程序

  16. 创建完所有想要的应用程序后,请选择 返回池详细信息,更新任何其他字段,然后选择 创建池.

要在用户池(API, AWS CLI)

执行以下任一操作