3 个版本
0.1.2 | 2022 年 1 月 19 日 |
---|---|
0.1.1 | 2022 年 1 月 18 日 |
0.1.0 | 2022 年 1 月 17 日 |
在 认证 类别中排名 #1065
23KB
540 行
oauth21-server
一个易于创建符合 OAuth 2.1 规范的授权服务器的库。开发此库的动机在于,尽管存在许多用于创建 OAuth 客户端的库,但几乎没有任何库用于创建 OAuth 服务器。
此库的一个问题是:此库没有实现 OAuth 2.1 中描述的任何 REST 处理程序。相反,这被留给了库消费者的实现细节。这意味着仍然需要阅读 IETF 草案以确定正确实现处理程序的方法。然而,函数必须将输入从请求转换为适当的请求结构,并将其传递下去。
库的基础围绕 Provider
特性。此特性定义了几个函数,其中大多数与客户端的交互有关。唯一必需的函数涉及数据库,提供对数据存储选择的抽象层。同样,Provider
特性依赖于一组自定义请求和响应,这些请求和响应反过来又依赖于所使用的流程。
本质上,有几个组件是库用户需要实现的
- 实现四个数据库相关函数:
store_client
、get_client
、save_authorization_information
、get_authorization_information
和remove_authorization_information
。 - 实现 OAuth 2.1 中描述的 REST 处理程序
- 在授权请求期间添加登录流程,如果预期的流程需要此类交互(例如授权代码流程)。
依赖项
~2–3MB
~85K SLoC