我应该使用哪种 AWS API 网关授权方类型来使用 Okta 保护我的 API? Lambda/Cognito?

Which AWS API Gateway Authorizer Type should I use to protect my APIs with Okta? Lambda/Cognito?

我想用 Okta 保护我的 AWS API 网关。仅当请求在 header(授权)中包含 Okta 访问令牌时,APIs 才应响应。我们不能为此使用 IAM 授权。因此,我计划使用以下授权方类型之一:

请确认以下哪项是正确的:

  1. 在这种情况下,我们只能使用 Lambda 而不能使用 Cognito
  2. 在这种情况下我们只能使用 Cognito 而不能使用 Lambda
  3. 在这种情况下,我们可以使用 Lambda 或 Cognito

我相信答案是 3。您应该能够为 Cognito 用户池添加第三方提供商,然后将 Cognito 授权方用于网关 - https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html

但是,如果您不需要 Cognito 用户池,更简单的选项似乎是 lambda 授权方,因为您可以使用现有库进行 JWT 验证,而无需费心使用 Cognito。

顺便说一句,如果你可以使用 AWS Api 网关 HTTP API - 它支持开箱即用的 JWT 授权 - https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html