使用微服务进行OAuth访问令牌验证
我目前正在考虑按照微服务架构构建一个应用程序。为了授权用户,我考虑使用OAuth协议。现在的问题是在何处/何时验证访问令牌。 我基本上看到两种可能性:使用微服务进行OAuth访问令牌验证,oauth,architecture,microservices,Oauth,Architecture,Microservices,我目前正在考虑按照微服务架构构建一个应用程序。为了授权用户,我考虑使用OAuth协议。现在的问题是在何处/何时验证访问令牌。 我基本上看到两种可能性: 每个微服务都是独立完成的(这意味着一个可能涉及10个微服务的调用将导致10个令牌验证) 引入一个API网关(我想它无论如何都需要存在),它进行令牌验证并传递用户ID、作用域。。。其他微服务信任并使用(这也意味着API网关和微服务之间必须存在某种身份验证,例如客户端机密!) 正如你可能已经猜到的,我倾向于使用第二种方法。这是有效的吗?你对其中一种方
谢谢和问候 您几乎肯定希望在微服务体系结构中实现公共/私有分离。公共端应该对令牌进行身份验证,而私有端用于为来自其他API调用的调用提供服务。这样,每次通话只需验证一次 正如您所说,您可以通过创建网关服务来实现这一点,该服务将这些调用分派给私有服务。这是一种非常常见的模式。我们发现,使用客户端证书身份验证(有时称为双向SSL)对私有API的网关端进行身份验证非常有用。这比共享秘密(很容易泄露)安全一点