#server #oauth2 #oauth #create #authorization #flow #request

oauth21-server

一个快速创建 OAuth2.1 服务器的库

3 个版本

0.1.2 2022 年 1 月 19 日
0.1.1 2022 年 1 月 18 日
0.1.0 2022 年 1 月 17 日

认证 类别中排名 #1065

MIT 许可证

23KB
540

oauth21-server

一个易于创建符合 OAuth 2.1 规范的授权服务器的库。开发此库的动机在于,尽管存在许多用于创建 OAuth 客户端的库,但几乎没有任何库用于创建 OAuth 服务器。

此库的一个问题是:此库没有实现 OAuth 2.1 中描述的任何 REST 处理程序。相反,这被留给了库消费者的实现细节。这意味着仍然需要阅读 IETF 草案以确定正确实现处理程序的方法。然而,函数必须将输入从请求转换为适当的请求结构,并将其传递下去。

库的基础围绕 Provider 特性。此特性定义了几个函数,其中大多数与客户端的交互有关。唯一必需的函数涉及数据库,提供对数据存储选择的抽象层。同样,Provider 特性依赖于一组自定义请求和响应,这些请求和响应反过来又依赖于所使用的流程。

本质上,有几个组件是库用户需要实现的

  1. 实现四个数据库相关函数:store_clientget_clientsave_authorization_informationget_authorization_informationremove_authorization_information
  2. 实现 OAuth 2.1 中描述的 REST 处理程序
  3. 在授权请求期间添加登录流程,如果预期的流程需要此类交互(例如授权代码流程)。

依赖项

~2–3MB
~85K SLoC