我正在尝试找出在Amazon API Gateway中部署API的最佳方法 . 我对使用的适当授权感到困惑 .

API将由我们的客户用于他们自己定制的开发应用程序 .

我们不需要提供最终用户身份验证 . 这将由我们的客户根据其应用程序的特定要求进行处理 .

我们需要做的是为我们的客户应用程序提供一种方法来对我们的API进行身份验证 .

我的理解是我有以下选择......

  • AWS_IAM - 这可能不合适,将客户凭据添加到我们的亚马逊帐户 .

  • Cognito用户池授权程序 - 这似乎主要是为用户授权而不是客户端授权而设计的 .

  • 自定义授权程序 - 据推测可以根据我们的特定要求进行定制,但需要从头开始构建大量代码 .

  • API密钥身份验证 - 简单地依赖密钥头快速简便,但似乎不是特别安全 .

我原先假设,有一些直接的方法来启用OAuth2身份验证 . 对于我们的用例,“客户端凭证”流程将是合适的 . 然而,根据我所做的研究,听起来像OAuth2身份验证需要自定义授权人Lambda . 我真的不热衷于必须实现完整的OAuth2服务,以验证应用程序 . 构建这样的东西只会花费太多 .

此外,如果我们正在编写自己的完整自定义OAuth2授权程序,并为API本身编写所有功能,我不确定API Gateway实际上是如何为我们提供任何 Value 的 .

是否有一些最佳实践或标准用于为API网关验证API客户端?

我们需要做的事情似乎并不是一件特别不寻常的事情,人们必须采取一些标准方式来做到这一点 .

任何建议将非常感谢 .