微服务架构中的服务器2服务器授权

时间:2020-07-29 06:17:57

标签: microservices api-authorization

对于我来说,关于微服务体系结构(用于处理auth,SSO,授权微服务等的API网关)中的用户授权很明显。 现在,我正在考虑微服务之间的授权请求。 还有一个问题-如果我没有用户,我有哪些选择?

例如-分析服务,该服务可请求结算数据并生成复杂的报告。没有用户,但是我需要授权来自分析服务的请求才能计费吗?

我知道可能有无数的令牌,但是我认为这不是一个好主意。 服务之间的授权请求还有什么其他选择?

1 个答案:

答案 0 :(得分:0)

在OAuth2规范中,有一种称为“机器对机器令牌”的东西。这与密码凭证流不同,后者指的是您的用户授权。

要创建机器对机器令牌,应实现一个称为客户端凭据流的流。在此流程中,基本上所有服务都具有特定的客户端ID和客户端机密,并且与这些服务一起,您将呼叫中央oauth-server以获取令牌。由于还需要在中央服务中配置客户端详细信息,因此您将在客户端调用之间获得授权,可以在哪个客户端可以调用哪个客户端方面进行授权。还有每个令牌的生存时间配置。

如果您已经准备好OAuth2设置,则可能很容易引入此新流程。但是,如果您不使用自己的设置在自己身边实现这样的事情,可能会很棘手。请检查https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2#grant-type-client-credentials