本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置用户池应用程序客户端
应用程序是用户池中具有调用未验证API操作(没有验证用户的操作)权限的实体。示例包括注册、登录和处理忘记密码的操作。要调用这些API操作,您需要应用程序客户端ID和可选的客户端密钥。您有责任保护任何应用程序客户端ID或密钥,以便只有经过授权的客户端应用程序才能调用这些未验证的操作。
您可以为用户池创建多个应用程序。通常,应用程序对应于应用程序的平台。例如,您可以为服务器端应用程序和不同的Android应用程序创建应用程序。每个应用程序都有各自的应用程序客户端 ID。
创建应用程序时,您可以选择为该应用程序创建一个私有密钥。如果为应用程序创建了一个私有密钥,则必须提供该私有密钥才能使用应用程序。基于浏览器的应用程序写入JavaScript可能不需要具有密钥的应用程序。
私有密钥在应用程序创建后即无法更改。如果您要轮换正在使用的私有密钥,可以创建一个具备新私有密钥的新应用程序。您也可以删除应用程序,以便阻止使用该应用程序客户端 ID 的应用程序的访问。
创建应用程序客户端(控制台)
-
在用户池仪表板上,选择 创建用户池.
-
输入 池名称.
-
选择 Review defaults。
-
选择 添加应用程序客户端.
-
选择 Add an app client。
-
输入 应用程序客户端名称.
-
指定应用程序的 刷新令牌到期. 默认值是 30。您可以将其更改为1小时至10年之间的任何值。
-
指定应用程序的 访问令牌到期. 默认值为1小时。您可以在5分钟和24小时之间将其更改为任何值。
-
指定应用程序的 ID令牌到期. 默认值为1小时。您可以在5分钟和24小时之间将其更改为任何值。
重要 如果您使用托管UI并在不到一小时的时间内设置令牌,最终用户将能够基于其会话cookie获取新令牌,当前修复时间为一小时。
-
默认情况下,用户池会为您的应用程序生成一个客户端密钥。如果您不希望出现这种情况,请清除生成客户端密钥。
-
如果您的服务器应用程序需要开发人员凭据(使用 签名版本4)并且不使用 安全远程密码(SRP)身份验证
选择 启用用于身份验证的管理API的用户名密码身份验证(ALLOW_ADMIN_USER_PASSWORD_AUTH) 启用服务器端身份验证。有关更多信息,请参阅 管理员身份验证流程。) -
低于 防止用户存在错误,选择 传承 或 已启用. 有关详细信息,请参阅 管理错误响应.
-
默认情况下,用户池会允许您的应用程序读取和写入所有属性。如果要为应用设置不同的权限,请执行下列步骤或选择 创建应用程序客户端 完成。
-
选择设置属性读取和写入权限。
-
执行以下操作之一来设置读取和写入权限:
-
选择一个或多个范围。每个范围都是一组标准属性。有关更多信息,请参阅标准 OIDC 范围
列表。 -
选择单个标准或自定义属性。
-
注意 您无法删除任何应用程序中写入权限的必需属性。
-
-
选择 Create app client。
-
如果您希望创建另一个应用程序,请选择添加应用程序。
-
创建完所有想要的应用程序后,请选择 返回池详细信息,更新任何其他字段,然后选择 创建池.
要在用户池(API, AWS CLI)
执行以下任一操作