在微服务架构应用程序中将认证作为一个单独的服务是最佳实践吗?
我看到在一些微服务应用中,认证是每个微服务的一部分。
是的—您通常希望在单独的服务中进行身份验证(很多时候这可能是外部服务)。除了复制的明显原因外,更重要的原因是安全性。
获得正确的身份验证可能是一个挑战(仅搜索oauth, openId和/或SAML),更不用说新用户的注册流程,撤销访问等。
你的问题不太具体。因此,一般来说,简短的回答是肯定的。
实现微服务架构时应该遵循的原则之一是避免职责重复,特别是在功能级别上。
身份验证也不例外。相反,它是一个你通常想要集中的关键功能。有不同的模式可以帮助确保在所有服务中以一致的方式实现身份验证和授权,最常用的是使用API网关。