微服务的 Laravel 身份验证

时间:2021-05-29 10:48:09

标签: laravel vue.js authentication microservices

我计划使用 Laravel 作为后端并使用 VueJsReactJs 作为前端来构建微服务架构。微服务将包括

  • 用户认证服务(用于认证用户)
  • 用户管理服务(管理组织成员数据库)
  • 活动管理服务(用于创建组织活动)

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

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

1 个答案:

答案 0 :(得分:0)

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

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