【问题标题】:is ok to choose AWS HTTP API gateway for a mobile application?可以为移动应用程序选择 AWS HTTP API 网关吗?
【发布时间】:2021-10-20 12:43:26
【问题描述】:

我正在尝试决定为我的应用程序选择哪个 aws apigateway 版本(HTTP 与 REST API 网关)。

我正在试验 AWS HTTP API 网关,看看它是否适合我的用例。

这些是我的要求:

  1. 唯一的客户端是移动应用程序
  2. 其余 API 只能从登录用户访问
  3. 我想将 cognito 与 cognito 授权方一起使用
  4. 我的后端混合了 lambda 服务和通过内部应用程序负载平衡器公开的 HTTP REST 服务

似乎一切都支持,唯一担心的是我会使用 api 密钥,但 HTTP API 网关目前不支持此功能。

如果我在没有任何 api 密钥的情况下使用 HTTP,是否存在任何安全问题? 将访问限制为仅来自我的移动应用程序的请求的正确方法是什么?

【问题讨论】:

    标签: amazon-web-services aws-api-gateway aws-http-api aws-rest-api


    【解决方案1】:

    似乎一切都支持,唯一担心的是我会使用 api 密钥,但 HTTP API 网关目前不支持此功能。

    HTTP API 支持 OpenID Connect 和 OAuth 2.0 授权 https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html

    如果您有任何自定义 api-key,您仍然可以使用 an authorizer lambda 对客户端进行身份验证和授权。

    如果我在没有任何 api 密钥的情况下使用 HTTP,是否存在任何安全问题?

    api-key 是什么意思? API-key 通常是静态共享密钥,主要用于后端应用程序。声称用户需要经过身份验证并使用移动应用程序,拥有硬编码的 api-key 并不是最好的主意(阅读 - 这是一个糟糕的主意)

    根据这些要求,默认选项是使用 OAuth2/OIDC 进行用户授权,并在 API 请求中传递用户的访问令牌。

    将访问限制为仅来自我的移动应用程序的请求的正确方法是什么?

    I want to use cognito with cognito authorizer

    最简单的内置方法是使用来自 Cognito 的访问令牌和内置的 JWT API 授权器。但是您可以配置任何其他选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-10
      • 2015-05-26
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 2019-06-05
      • 2013-02-03
      • 1970-01-01
      相关资源
      最近更新 更多