在python3中为现有WSGI创建OAuth2.0提供程序

2024-10-03 09:07:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我不知道如何为现有的wsgi服务器创建OAuth v.2.0提供程序。 我想在我现有的wsgi服务器(使用apache的mod_wsgi)上通过HTTPS部署一个定制的oauth2.0提供程序。wsgi-basis和HTTPS已经实现并运行良好。 不幸的是,关于如何在python3中实现oauth2.0提供程序,我只能找到oauthlib的this tutorial。 但是这个模块的文档主要是指像drango和flask这样的框架,我不需要,因此也不想在这个项目中使用。 此外,oauthlib似乎强迫我使用他们自己的web服务器,如中所述

# From the previous section on validators
from my_validator import MyRequestValidator

from oauthlib.oauth2 import WebApplicationServer

validator = MyRequestValidator()
server = WebApplicationServer(validator)

我这里的问题是,我想在现有的WSGI服务器上创建一个没有上述框架的oauth2.0提供程序,但无法确定在哪里需要更改什么。在


Tags: fromhttpsimport程序服务器框架modwsgi
1条回答
网友
1楼 · 发布于 2024-10-03 09:07:58

WebApplicationServer是一个“具有授权代码授予和承载令牌的一体式端点。”。Pythons oauthlib没有绑定到任何特定类型的传输,因为您向“服务器”提供了验证请求所需的参数,服务器使用提供的验证器来执行此操作。作为回报,您将得到需要提供给请求者的响应。在

通常将HTTP路径和方法映射到服务器函数,例如GET/authorize可以映射到server.validate_authorization_请求(由AuthorizationEndpoint提供)。假设请求中没有错误,您将使用返回值呈现一个表单,用户可以在其中同意向客户端提供授权代码。在

大部分工作将花费在创建RequestValidator的实现上。在这里,oauthlib将确定客户机是否存在、哪些作用域被认为是有效的、持久化的授权代码等等。在

相关问题 更多 >