首页 > 解决方案 > OAuth 2.0 是框架还是协议?

问题描述

我刚刚收到要求在 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?

我没有得到这个吗?任何人都可以帮助我解决这种困惑吗?

标签: restauthenticationoauth-2.0oauth

解决方案


它是一种协议,因为它定义了多方如何交换消息以将授权以操作 API 背后的资源委托给称为客户端的应用程序。它由此处的 IETF 标准征求意见 (RFC) 文档定义:https ://www.rfc-editor.org/rfc/rfc6749

它也是一个框架,因为它让实现者使用其他授权扩展协议。OpenID Connect 是处理身份验证的 OAuth2 扩展,在此处定义:https ://openid.net/specs/openid-connect-core-1_0.html


推荐阅读