我们正在计划一种新的架构,它将使用许多不同的微服务的后端,这些服务需要相互交谈,以及来自非服务部分的系统的现场请求。在后半部分,我不是在谈论外部客户,我只是在讨论我们网络中的系统,但这并不是这个微服务体系结构的一部分。
对于那些相互交谈的服务,处理身份验证/授权的最佳方法是什么?我通常认为Oauth是Microservices的解决方案,但在谈论使用该服务的外部客户时往往是这样。同样的情况也适用于微型服务部门之间的对话吗?
发布于 2016-05-19 05:56:31
OAuth 2 客户凭据授予是为服务之间的通信而设计的。客户端凭据授予的身份验证通常涉及传递共享机密,而不是登录/密码。共享秘密用于满足“机密客户端”授予客户凭据的RFC要求。
如果您还没有想到一个身份验证服务器,我建议您看看凯克雅克,至少作为概念的证明--这是来自RedHat的开源产品。它使用开放ID连接(OIDC),它是OAuth 2的扩展(添加一个ID层)。关于细节,Keycloak的服务帐户上的服务器管理文档。
https://security.stackexchange.com/questions/109807
复制相似问题