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

时间:2017-04-29 19:06:22

标签: 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的自定义授权程序选项?这是否可能,因为将从AWS API Gateway收到请求?我问这个是因为当尝试使用和OAuth2安全实现导入Swagger规范时,AWS API Gateway会出现以下错误:

    由于Swagger文件中的错误,未导入您的API。 不支持的安全定义为'oauth'输入'oauth2'。忽略。

  3. 作为旁注,由于API的所有未来客户都将由我自己开发,我计划在我的OAuth2服务器上使用资源所有者密码凭据授权。

1 个答案:

答案 0 :(得分:0)

我假设' Oauth2服务器'在你的问题中意味着验证令牌的东西。如果您的应用实际上是在发放令牌,或者发布了哪种类型的令牌,您就不会说明。

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

Swagger导入API网关除了你可以在你的应用程序中管理授权,它只是你收到新请求后首先处理的事情,只需确保授权头在API网关中映射到下游。