如何通过混合API网关中的Cognito身份和用户池来授权API

时间:2019-04-01 04:59:21

标签: amazon-web-services aws-lambda aws-api-gateway amazon-cognito

我在AWS API Gateway中拥有一种资源,目前包括:

  • 01组API 需要通过 Cognito用户池
  • 进行身份验证和授权
  • 另一组API 需要使用开发人员认证的身份通过Cognito Identity Pool增强的流程进行授权,并通过 AWS_IAM
  • 进行验证授权

问题在于,AWS API Gateway仅支持配置具有<01>授权者的 01资源(Cognito用户池或AWS_IAM)。那么,支持两种方法验证授权的解决方案是什么(Cognito用户池和AWS_IAM)?

我有一个想法,使用Lambda函数作为授权人,但是我不确定它是否支持通过AWS_IAM验证授权。如有可能,有人可以帮我提供Lambda函数的示例代码Nodejs吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

此假设不正确。

可以在API网关级别添加授权者,但是可以为每个API选择授权类型,可以是IAM或Cognito。

因此,根据要求,一组API可以将IAM作为授权者,而另一个可以将Cognito作为授权者。