【问题标题】:Oauth2 and JWT differenceOauth2 和 JWT 的区别
【发布时间】:2021-07-16 03:55:51
【问题描述】:

我对这个话题感到困惑,我一直在使用 NODEJS API 进行 JWT 身份验证,并且听说过 Oauth2 并阅读了 Oauth2 可以与 JWT 一起使用的文档,所以我的问题是,我应该使用 Oauth2我的其余 API 将被 React 前端应用程序使用或继续使用 JWT 身份验证。

那么,如果使用 Oauth2,前端将如何处理呢? ,因为已经看到其他 API 提供了 Google 提供商的登录页面,例如

【问题讨论】:

    标签: node.js authentication oauth-2.0 jwt passport.js


    【解决方案1】:

    JSON Web 令牌 (JWT) 是一种对数据进行编码的方法,可以防止数据被篡改(当 JWT 被签名时),并且可以在 HTTP 中轻松使用(因为它已被编码)。因此,JWT 是一种在不同方(例如您的前端应用和 API)之间传递身份验证和授权数据的方式。

    OAuth2 是一种获取授权的协议。它描述了用户如何将对其资源的访问权限授予应用程序的方法。因此 OAuth2 描述了您必须实现的过程,以便您的应用程序可以获取,例如一个 JWT 令牌。

    OAuth2 和 JWT 都是互联网标准,所以最好实现它们。

    如果目前您在未实施 OAuth 的情况下获得 JWT,我强烈建议您切换到 OAuth 流程。具体如何实施取决于您的基础设施。如果您希望前端执行流程并获取 JWT 访问令牌,您可以使用 implicit flowcode flow with PKCE(推荐使用第二个)。如果您需要后端获取 JWT 以访问其他 API,则可以让后端执行 code flow,并将 JWT 与用户会话相关联。

    查看这些API best practices 以获得有关如何解决您的一些问题的更多想法。

    【讨论】:

      猜你喜欢
      • 2014-01-09
      • 2018-11-30
      • 2018-02-07
      • 2017-01-09
      • 2015-02-03
      • 2018-10-19
      • 2020-06-19
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多