[英]Flask and Heroku: Key Error while getting session variable
所以我试图在 Heroku 中建立一个在本地完美运行的基本站点。 我在用户登录时有以下代码可以正常执行:
@app.route("/callback")
def callback():
token = oauth.authorize_access_token()
session["userinfo"] = oauth.parse_id_token(token)
name = session['userinfo']['name']
email = session['userinfo']['email']
但是,当我尝试在不同的 def 中使用 session 变量时,我在此处收到日志错误“KeyError:'userinfo'”:
@app.route("/profile", methods=["GET", "POST"])
def profile():
if request.data:
results = request.json
con = db_connect()
c = con.cursor()
c.execute("select hash from users where email = %s", (session['userinfo']['email'],))
我已经在控制台的回调中打印了名称以验证 Auth0 部分是否正常工作,但我猜测 Heroku 出于某种原因没有很好地处理 session 变量?
如果您在 Heroku 中使用配置变量,请检查以确保它们没有任何连字符。 Heroku 的文档中提到了这一点。 我有一个应用程序在本地运行得非常好,但在 Heroku 上运行时也出现了 KeyError。 原来我的配置变量键有连字符,在将它们更改为下划线后,错误消失了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.