【问题标题】:OAuth Access token Validation with Microservices使用微服务进行 OAuth 访问令牌验证
【发布时间】:2015-11-29 03:39:20
【问题描述】:

我目前正在考虑构建一个遵循微服务架构的应用程序。为了授权用户,我正在考虑使用 OAuth 协议。现在的问题是在哪里/何时验证访问令牌。 我基本上看到了两种可能性:

  1. 每个微服务都是独立完成的(这意味着一个可能涉及 10 个微服务的调用将导致 10 个令牌验证)
  2. 引入一个 API 网关(无论如何我猜它都需要在那里),它执行令牌验证并传递用户 ID、范围等,其他微服务信任和使用(这也意味着某种身份验证API 网关和微服务之间必须存在,例如客户端密码!?)

您可能已经猜到了,我倾向于采用第二种方法。那是有效的吗?您对其中一种方法有一些实际经验吗?或者你会建议另一种方法吗? 我期待您的 cmets/评论!

感谢和问候!

【问题讨论】:

    标签: oauth architecture microservices


    【解决方案1】:

    您几乎肯定希望在您的微服务架构中实现公有/私有拆分。公共端应该对令牌进行身份验证,而私有端用于为来自其他 API 调用的调用提供服务。这样您每次通话只需验证一次。

    正如您所说,您可以通过创建一个网关服务来完成此操作,该服务将这些调用分派给私有服务。这是一种非常常见的模式。我们发现使用客户端证书身份验证(有时称为双向 SSL)对私有 API 的网关端进行身份验证很有用。这比共享密钥(很容易泄露)安全一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      • 1970-01-01
      • 2013-07-12
      相关资源
      最近更新 更多