使用 API Gateway 控制台为 REST API 配置跨账户 Amazon Cognito 授权方
您现在还可以使用来自不同 AWS 账户的 Amazon Cognito 用户池作为 API 授权方。Amazon Cognito 用户池可使用持有者令牌身份验证策略(如 OAuth 或 SAML)。这样就可以轻松地跨多个 API Gateway API 集中管理和共享中央 Amazon Cognito 用户池授权方。
在本节中,我们将介绍如何使用 Amazon API Gateway 控制台配置跨账户 Amazon Cognito 用户池。
这些说明假定您已在一个 AWS 账户中拥有 API Gateway API,在另一个账户中有 Amazon Cognito 用户池。
为 REST API 创建跨账户 Amazon Cognito 授权方
在您拥有 API 的账户中登录 Amazon API Gateway 控制台,然后执行以下操作:
-
在 API Gateway 中创建新的 API 或选择现有 API。
-
在主导航窗格中,选择授权方。
-
选择创建授权方。
-
要配置新的授权方来使用用户池,请执行以下操作:
-
在授权方名称中,输入名称。
-
对于授权方类型,请选择 Cognito。
-
对于 Cognito 用户群体,输入您第二个账户中的用户群体的完整 ARN。
注意
在 Amazon Cognito 控制台中,您可以在常规设置窗格的池 ARN 字段找到您的用户池的 ARN。
-
对于令牌来源,输入
Authorization
作为标头名称,以在用户成功登录时传递 Amazon Cognito 所返回的身份令牌或访问令牌。 -
(可选)在令牌验证字段中输入一个正则表达式,以在使用 Amazon Cognito 对请求进行授权之前,验证身份令牌的
aud
(受众)字段。请注意,在使用访问令牌时,由于访问令牌不包含aud
字段,此验证将拒绝请求。 -
选择创建授权方。
-