我开始编写一些微服务,这些微服务将具有独立的Web客户端,集中式身份验证和授权服务以及组织服务。组织服务将跟踪谁属于哪个组织以及该组织支付了什么费用。这将告诉我谁可以访问哪个Web客户端以及每个单独的微服务的哪些部分。我仅在单个Rails整体中使用Devise开发了身份验证,因此我正在探索如何在多微服务和Web客户端生态系统中进行身份验证。我想出了这个:
这是正确的身份验证方法吗?有更好的方法吗?我应该做些小调整吗?
此外,我应该将Web客户端到微服务的身份验证与微服务之间的身份验证区别对待吗?
答案 0 :(得分:1)
帮自己一个大忙,不要试图自己发明这个。许多人已经编写了功能齐全的auth&auth系统,其中一些人做得很好。除非您是安全专家(如果您问这个问题,否则可能不是),请使用框架。
首先查看OAuth 2.0 and OpenId Connect提供程序,它是分布式身份验证中的实际标准。无论使用哪种语言/平台,都有可能可以立即使用的实现。这将极大地加快您的速度,并有可能避免您在实现过程中做错的所有事情。
答案 1 :(得分:1)
您现在就可以直接使用基于Open ID和Auth2.0的Identity Server。
如果您对微服务体系结构主题感兴趣,那么以下链接是一组有关代码项目中微服务的文章,您可以阅读并评论自己的问题。
https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-I
https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-II
https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-III