【发布时间】:2021-02-12 19:24:13
【问题描述】:
我刚刚收到要求在 SSO(集中用户数据库/服务器)上的 REST API 上应用 Oauth2.0 身份验证。
我对 OAuth2.0 完全陌生。只是通过互联网学习概念。
我非常了解 OAuth2.0 的工作原理。 访问承载令牌和刷新令牌的所有概念。
仍然困扰我的一件事是:
是框架还是协议?
我的意思是它是某种标准或一组指令,以进行身份验证?
就我而言,我不关心使用 Facebook 或 Google 登录。
我只需要登录用户并获取访问和刷新令牌,并使用访问承载令牌验证基于用户的路由。
由于我一直在研究 Node.js 的官方 OAuth2.0 文档:
https://oauth2-server.readthedocs.io/en/latest/index.html
它所说的只是创建一个用于插入、获取和验证令牌的模型。
处理所有这些的自定义逻辑。
如果它是一个框架,它会自己处理所有事情,但据我所知,它并没有为开发人员提供太多帮助。我在文档中看不到任何内置函数或方法。例如生成访问令牌、获取访问令牌、刷新令牌等。所有这些都基于自定义逻辑。
我还在寻找简单的 Oauth2 Nodejs 官方库,它可以通过调用简单的方法来验证路由。
因为如果 Oauth2 不是这样,我真的必须管理所有逻辑自定义方式,那我为什么不应该使用 JWT?
我没有得到这个吗?谁能帮我解决这个困惑?
【问题讨论】:
-
OAuth2 不是“网络框架”意义上的框架。您链接的项目只是 Node.js 的 1 个 oauth2 实现。这是另一个:github.com/curveball/a12n-server。因此,即使 OAuth2 是“身份验证系统框架”,它也与特定的 Node.js 实现提供或不提供什么有点无关。
-
@Evert 实际上 Oauth2 让我很难受,尽管我了解了它的所有概念,但我仍然找不到任何好的简单的 Oauth2 官方 Nodejs 库。
-
到目前为止我所经历的只是令牌的自定义处理和管理,那么为什么不改用 JWT 呢?
-
OAuth2 没有官方库。 JWT 和 OAuth2 解决的问题非常不同,可以同时使用。
-
为什么和 NodeJS 相关?由于
nodejs标签,我找不到问题/答案。请考虑删除标签。
标签: rest authentication oauth-2.0 oauth