Python烧瓶罐';t访问应用程序内部蓝图
我一直在尝试用flask构建一个KeyClope oidc身份验证流 在使用oidc之前,我需要在我的/auth蓝图中初始化oidc变量。 我无法让它运行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
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导入