【问题标题】:Authentication with multiple services: Only one REST-call or multiple calls?使用多种服务进行身份验证:只有一个 REST 调用还是多个调用?
【发布时间】:2021-04-05 04:38:41
【问题描述】:

我有一个关于在 web 应用程序中使用 JWT 的问题:身份验证服务提供了一个 JWT,它为我提供了用户是否已知的信息。然后将调用另一个服务来检查基于 JWT 的用户角色。它附加一个 API 密钥、用户角色并将调用真正的 API。 现在我的问题是:最好的身份验证流程是什么?

  1. webapp 是否应该只进行一次调用:调用将请求代理到 auth 服务的 JWT 服务,该服务将其代理到真正的后端并一直返回?
  2. 还是应该如下所示:Webapp 调用 JWT-service。 JWT-service 将 JWT 返回给 webapp,然后 webapp 将在第二个请求中调用 auth-service。

很遗憾,JWT 服务无法检查用户角色 :(

是否有任何优点/缺点或最佳模式?

我希望这不会太混乱:D

最好的 卢卡斯

【问题讨论】:

    标签: api authentication design-patterns web-applications jwt


    【解决方案1】:

    我认为您应该考虑在前端和底层微服务之间使用 API 网关。该网关将负责转发所有呼叫。

    例如,它将调用将构建 JWT 的 auth-provider。 反过来,此令牌应包含登录用户的所有相关角色,以声明的形式公开。

    JWT 验证不一定需要服务调用。

    我前段时间写了一篇博文,更详细地解释了流程:https://www.davideguida.com/handling-authentication-and-authorization-in-microservices-part-2/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 2020-02-05
      • 2020-12-21
      相关资源
      最近更新 更多