java - AWS API 网关 + AWS ECS + OAuth2 密码授予

标签 java api amazon-web-services amazon-ec2 oauth

我计划构建一个用户管理 Java API 并将其部署在 Wildfly 中。 API 规范将使用 Swagger 完成。

然后我将使用 Wildfly + 应用程序创建一个 Docker 镜像,然后从该镜像在 AWS ECS(EC2 容器服务)上创建一个容器。

下一步是将 API 的 Swagger 规范导入 AWS API Gateway,并将请求转发到创建的 AWS ECS 容器。

我的问题。实现 OAuth2 服务器的最佳选择是什么:

  1. 在 Lambda 函数中创建它并将其用作 AWS API Gateway 中的自定义授权方?
  2. 在新的 Java 应用程序(在同一个或新的 Wildfly 容器上)上创建它,因此不使用 AWS API Gateway 的 Custom Authorizer 选项?这甚至可能吗,因为请求将从 AWS API 网关接收?我问这个是因为在尝试导入带有 OAuth2 安全实现的 Swagger 规范时,AWS API Gateway 出现以下错误:

    由于 Swagger 文件中的错误,您的 API 未被导入。 “oauth”不支持安全定义类型“oauth2”。忽略。

附带说明一下,由于 API 的所有 future 客户端都将由我自己开发,我计划在我的 OAuth2 服务器上使用资源所有者密码凭证授予。

最佳答案

我假设您问题中的“Oauth2 服务器”是指验证 token 的东西。您没有说明您的应用是否真的在发行 token ,或者发行的是什么类型的 token 。

最佳选择可能是主观的,但我的偏好一直是使用自定义授权器,因为这是其他资源的可重用组件。

除了 Swagger 导入 API Gateway 之外,您可以根据需要在您的应用程序中管理授权,当收到新请求时,它只是您处理的第一件事,只需确保 API Gateway 中的授权 header 映射到往下游走。

关于java - AWS API 网关 + AWS ECS + OAuth2 密码授予,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43699483/

相关文章:

java - 使用 Cucumber 场景大纲处理 excel 电子表格

ruby-on-rails-3 - 使用 json 在 rails api 中创建操作

php - Laravel Passport 使用不同的模型

android - Magento 客户使用 soap api 从 Android 登录

amazon-web-services - 如何在 Cloudformation 中为 AWS::Lambda::Permission 提供多个 SourceArn?

amazon-web-services - 从 Docker 容器中检测 AWS 主机环境

java - 是否有与 Python 3 的 collections.Counter 等效的 scala/java

Java ArrayList的正确使用

java - ElasticSearch 和 Java 环境变量

amazon-web-services - s3 SignedUrl x-amz-security-token