我目前正在考虑按照微服务架构构建应用程序。要授权用户我正在考虑使用OAuth协议。现在问题是在何时/何时验证访问令牌。 我基本上看到了两种可能性:
正如您可能已经猜到的那样,我倾向于采用第二种方法。这是有效的吗?你有其中一种方法的实际经验吗?或者你建议另一种方法? 我很期待你的意见/评论!
谢谢和问候!
答案 0 :(得分:1)
您几乎肯定希望在您的微服务架构中进行公共/私有拆分。公共端应该对令牌进行身份验证,而私有端用于为来自其他API调用的调用提供服务。这样,您每次通话只需进行一次身份验证。
正如您所说,您可以通过创建网关服务来实现此目的,该服务将这些调用分派给私有服务。这是一种非常常见的模式。我们发现使用客户端证书身份验证(通常称为双向SSL)对私有API的网关端进行身份验证很有用。这比共享秘密(可以轻易泄漏)更安全。