【问题标题】:Authenticating requests across microservices跨微服务验证请求
【发布时间】:2019-03-21 10:06:55
【问题描述】:

我有一堆微服务,其中一个负责对用户进行身份验证。在此服务中,允许用户使用 facebook、google(使用 Passportjs)登录并使用常规用户名/密码登录。

Passport 使验证对 API 的请求和处理会话变得非常容易,但是如果我有多个 API(由于多个微服务)。 Passport 可能会导致大量开销,因为我必须将所有护照配置文件复制到所有服务,如果我想更改某些内容,我必须全部更改它们。还有其他选择吗?我曾想过在所有服务中使用具有共享密钥的 JWT,但我又不确定这是否可行。

【问题讨论】:

    标签: node.js authentication passport.js microservices


    【解决方案1】:

    这里更有用的方法之一是使用 API 网关,这实质上意味着所有面向用户的微服务都应在其上注册并路由到内部微服务。您用于身份验证的服务也碰巧使用了第三方,但仍可以按原样存在,但会位于 API 网关后面。

    一旦用户登录,任何其他端点都会在将请求发送到其他微服务之前,检查用户会话与您用来验证用户身份的服务,无论是 Facebook、Google 等。请注意,其他需要身份验证或授权的微服务必须是私有的,并且只能从同一网络中的服务(例如 API 网关)访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-24
      • 2019-02-17
      • 2018-07-28
      • 2018-12-15
      • 2017-08-19
      • 2015-04-19
      • 2020-02-05
      • 1970-01-01
      相关资源
      最近更新 更多