如何向 eve_swagger 提供的路由添加身份验证?
How do you add auth to the routes provided by eve_swagger?
我在项目中使用 eve_swagger (https://github.com/pyeve/eve-swagger),它非常适合生成 swagger 文档。我有一个用例,我需要让在库中创建为路由的默认 /api-docs
端点需要身份验证。
当我创建我的 eve 应用程序时,我将 auth
参数设置为我的身份验证 class,但是 /api-docs 端点是使用蓝图创建的,我不是确定如何向此端点添加身份验证。有什么想法吗?
我的前夕* 部门:
eve = "~0.7"
eve_sqlalchemy = "~0.7"
eve_swagger = "^0.0.11"
谢谢!
我找到了一种方法,但不确定这是否是 best/right 方法。
我拿了提供的eve_swagger蓝图,加了一个before_request授权功能。东西 "like" 这个:
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
路由时,我的授权函数在请求之前被调用和处理。这样,如果我的函数决定请求未被授权,它可以停止请求。
我在项目中使用 eve_swagger (https://github.com/pyeve/eve-swagger),它非常适合生成 swagger 文档。我有一个用例,我需要让在库中创建为路由的默认 /api-docs
端点需要身份验证。
当我创建我的 eve 应用程序时,我将 auth
参数设置为我的身份验证 class,但是 /api-docs 端点是使用蓝图创建的,我不是确定如何向此端点添加身份验证。有什么想法吗?
我的前夕* 部门:
eve = "~0.7"
eve_sqlalchemy = "~0.7"
eve_swagger = "^0.0.11"
谢谢!
我找到了一种方法,但不确定这是否是 best/right 方法。
我拿了提供的eve_swagger蓝图,加了一个before_request授权功能。东西 "like" 这个:
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
路由时,我的授权函数在请求之前被调用和处理。这样,如果我的函数决定请求未被授权,它可以停止请求。