微服务架构中的身份验证处理 - Lumen、Laravel 和 SPA

5 authentication microservices lumen api-gateway


我正在创建一个基于微服务架构的应用程序。
该应用程序用于自由职业相关活动,因此我创建了一个:

  1. 身份验证微服务(使用 Laravel)处理身份验证,它还具有用户数据库
  2. Lumen(Microframework)中构建的另一个微服务基本上处理自由职业者发布其工作并与他们一起管理

到目前为止,我的架构基本上是这样的:

建筑学


到目前为止我们还没有实现 API 网关。对于身份验证微服务中的身份验证,我们使用 Passport,它在后台使用 Oauth2 和 JWT。
我的情况的问题是,由于我从前端(REACT)直接向微服务发出请求,因此路由不受保护,例如在演出微服务中,每个人都可以发出请求。
所以我的问题是如何保护这些路由,我正在考虑制作一个中间件,每当我们有一个发送到该微服务的请求时,检查用户是否经过身份验证(解码令牌并验证用户是否经过身份验证) 。

当我将所有代码基本上放在 Laravel 的同一环境中时,通过 Laravel 提供的中间件很容易,但是由于仅用于身份验证的微服务和需要从中提供服务的其他微服务没有直接绑定,这给我带来了问题。


因此,如果你们有任何示例、建议或任何相关内容,我们将不胜感激。