Python烧瓶罐';t访问应用程序内部蓝图

Python烧瓶罐';t访问应用程序内部蓝图,python,flask,keycloak,Python,Flask,Keycloak,我一直在尝试用flask构建一个KeyClope oidc身份验证流 在使用oidc之前,我需要在我的/auth蓝图中初始化oidc变量。 我无法让它运行 from flask import Blueprint, current_app from flask_oidc import OpenIDConnect auth = Blueprint('auth', __name__, static_folder="static", template_folder="te

我一直在尝试用flask构建一个KeyClope oidc身份验证流

在使用oidc之前,我需要在我的/auth蓝图中初始化oidc变量。 我无法让它运行

from flask import Blueprint, current_app
from flask_oidc import OpenIDConnect

auth = Blueprint('auth', __name__, static_folder="static", template_folder="templates")

app = current_app._get_current_object()

with app.app_context():
    oidc = OpenIDConnect(app)
我得到以下错误:

RuntimeError: Working outside of application context.
如何在蓝图中使用OpenIDConnect?
我知道类似的问题已经被问了很多次,但我无法用他们的解决方案运行它。

如果您使用的是Flask app factory模式,我建议使用
init\u app
方法初始化
Flask OIDC

一些示例代码:

从烧瓶导入烧瓶
从flask_oidc导入OpenIDConnect
oidc=OpenIDConnect()
def create_app():
app=烧瓶(名称)
#初始化OIDC
oidc.init_应用程序(应用程序)
返回应用程序
现在,如果需要访问实例,您可以从应用程序导入
oidc
,例如从app import oidc导入