微服务的Laravel身份验证



我计划制作一个微服务架构,使用Laravel作为后端,VueJsReactJs作为前端。微服务将由组成

  • 用户身份验证服务(用于验证用户(
  • 用户管理服务(管理组织成员数据库(
  • 事件管理服务(用于创建组织事件(
  • 等等

所有服务都需要对用户请求进行身份验证,但使用位于User authentication service.上的中央用户数据库。最终,在每个web应用程序上,它将使用至少两个服务。

在向指定服务发出请求之前,我如何对用户进行身份验证?提前感谢!

仔细思考您开发具有微服务架构的分布式系统的理由。开发这样一个系统可能很复杂,可能会带来比它为您解决的问题更多的问题。例如,您应该考虑代码库管理、数据同步和服务可用性等问题。将frontend (Vue/React)backend (API)作为单独项目的标准monolithic体系结构将更简单,并且可以提供您需要的灵活性。如果将来需要开发一个面向服务的体系结构,那就担心吧。

也就是说,通常你不会允许直接访问你的服务。将有一个API网关,用户可以访问该网关,并将请求代理到相关服务。因此,您的用户将向api.domain.tld/auth/login发出请求,然后网关将该请求转发到您的auth服务,处理该请求,然后提供失败响应或成功响应,其中包括某种身份验证token,用于授权对其他服务的后续请求。有时,服务是相互了解的,如果需要,可以直接通信,其他时候,它们使用API网关进行服务通信。

最新更新