我正在使用eve_swager(https://github.com/pyeve/eve-swagger)在一个项目中,它非常适合生成swagger文档。我有一个用例,其中我需要将默认的/api-docs
端点创建为库中的路由,该端点需要身份验证。
当我创建eve应用程序时,我将auth
参数设置为我的auth类,但/api docs端点是用蓝图创建的,我不确定如何向该端点添加auth。有什么想法吗?
我的eve*deps:
eve = "~0.7"
eve_sqlalchemy = "~0.7"
eve_swagger = "^0.0.11"
谢谢!
我找到了一种方法,但不确定这是否是最好/正确的方法。
我采用了提供的eve_swager蓝图,并添加了一个带有授权函数的before_request。类似这样的东西:
import eve_swagger
from flask import current_app as app
def authorize_swagger:
# my auth logic
eve_swagger.swagger.before_request(authorize_swagger)
app.register_blueprint(eve_swagger.swagger)
这样做的结果是,当我调用默认的/api-docs
路由时,我的授权函数会在请求之前被调用和处理。这样,如果我的函数决定请求未被授权,它可以停止请求。