我计划使用 Laravel
作为后端并使用 VueJs
或 ReactJs
作为前端来构建微服务架构。微服务将包括
所有服务都需要对用户请求进行身份验证,但使用位于 User authentication service.
上的中央用户数据库。最终,在每个 Web 应用程序上,它将使用至少 2 个服务。
在向指定服务发出请求之前,我如何能够对用户进行身份验证?提前致谢!
答案 0 :(得分:0)
仔细考虑您使用微服务架构开发分布式系统的理由。开发这样的系统可能很复杂,并且可能会带来比它为您解决的问题更多的问题。例如,您应该考虑代码库管理、数据同步和服务可用性等内容。将 monolithic
和 frontend (Vue/React)
作为单独项目的标准 backend (API)
架构会更简单,并且可以提供您需要的灵活性。如果将来需要开发面向服务的架构,那么请担心。
也就是说,您通常不允许直接访问您的服务。将有一个 API
网关供用户访问,并将请求代理到相关服务。因此,您的用户会向 api.domain.tld/auth/login
发出请求,然后网关会将其转发到您的 auth
服务,处理该请求,然后提供失败响应或成功响应,其中包括某种auth token
将用于授权对您的其他服务的后续请求。有时,服务可以相互感知并在需要时直接通信,有时它们使用 API
网关进行服务通信。