如何使用api网关限制资源访问

时间:2020-08-01 01:07:18

标签: spring-boot authentication jwt microservices aws-api-gateway

我正在实施一个简单的基于微服务的项目,并且面临有关身份验证的一些疑问。我的疑问更多是关于最佳实践,而不是技术方面的事情。

我所拥有的:

  • 让我说我有几个API
  • 还有一个API网关,负责路由和身份验证
  • 我正在使用身份提供者(密钥斗篷)进行身份验证(基于JWT)

我想知道的事情:

假设我有一个api/user/<user_id>这样的终结点,可以处理POST请求,并且可以更改有关用户的信息。

为此,我不仅需要检查是否是经过身份验证/允许的用户,还必须检查尝试访问它的用户是否是自己的用户。

我的问题是,最好在API网关中执行此操作,还是API网关需要将JWT传递给API,以便它可以在控制器上进行检查?

  • 我在使用api的spring-boot
  • Netflix的API网关的Zuul代理
  • 用于处理身份验证的密钥斗篷

1 个答案:

答案 0 :(得分:1)

API网关的唯一目的是请求路由,身份验证和负载平衡
应该在该微服务中检查用户是否具有修改权限,并应做出决定。