我是微服务架构的初学者,向自己提出了一个关于以下场景的问题:
假设我的前端对至少两个不同的服务提出授权请求。例如:请求应为特定用户预订产品。通过API网关组织此请求可能是一种很好的做法。产品服务依赖于用户服务来知道哪个用户想要其产品。
- 应该如何组织依赖关系?如果API-GW调用用户服务,则将信息传递给产品服务,或者仅调用产品服务并处理与用户服务本身的关系
- 在这个香草系统中,你将如何组织授权?当访问信息时,是否会有每次从每个服务调用的身份验证服务,或者应该以不同的方式实现
请分享您对此系统设计的知识。我可以考虑不同的方法,但我正在寻找一种最佳实践方法,并想知道它的好处。
我已经多次设计、解决并实现了这个问题的答案。
- 用户详细信息是我们应用程序的基础。在架构良好的web应用程序中,这本身就是一个服务,它为所有用户提供他们的配置文件详细信息
- 要进行身份验证,请查看JWT令牌。JWT令牌在超时时工作,为用户提供完整的AUTHZ/AUTHN详细信息。这会传递给每个服务调用
- 始终确保您拥有符合OAUTH2标准的中央令牌提供商服务
如果您需要更多详细信息,请告诉我。很乐意帮忙,DM我。