Python 先前设置的请求cookies在Flask应用程序中不返回任何值
我正在尝试将JWT令牌存储在Flask应用程序的cookie中,以限制某些端点。端点“/authorize”负责设置cookies,然后将页面重定向到根端点“/” 然而,当我试图部署它时,我在重定向方面遇到了一些问题,因此必须将Python 先前设置的请求cookies在Flask应用程序中不返回任何值,python,flask,cookies,Python,Flask,Cookies,我正在尝试将JWT令牌存储在Flask应用程序的cookie中,以限制某些端点。端点“/authorize”负责设置cookies,然后将页面重定向到根端点“/” 然而,当我试图部署它时,我在重定向方面遇到了一些问题,因此必须将redirect(“/”)更改为redirect(“/”)https://someaddress.com/)“其中https://someaddress.com/是烧瓶应用程序的地址。现在,当我尝试在根端点中检索令牌cookie时,它返回None。我怀疑这是因为重定向已从
redirect(“/”)更改为redirect(“/”)https://someaddress.com/)“
其中https://someaddress.com/
是烧瓶应用程序的地址。现在,当我尝试在根端点中检索令牌cookie时,它返回None
。我怀疑这是因为重定向已从内部重定向到外部重定向
请帮我找到解决方法。或者,如果您认为我应该解决导致从内部重定向更改为外部重定向的问题,这样我就可以回到工作中去。(如果有人能给我指出一些资源,确切地解释重定向,或者更具体地说,Flask的重定向是如何工作的,我将不胜感激。)使用Flask的url\u for
函数应该适用于您的情况,因为它将在应用程序上下文中查找链接:
from flask import Flask, request, make_response, redirect, url_for
@app.route("/authorize", methods=["GET"])
def authorize():
token = request.args.get('token')
expires = request.args.get('expires')
# some code to validate the token
resp_output = make_response(redirect(url_for('index')))
resp_output.set_cookie("token", token, expires=expires)
return resp_output
@app.route("/", methods=["GET"])
def index():
token = request.cookies.get("token)
# do something with the token
顺便说一句,我建议你把你的授权逻辑交给一个装饰师,看看
如果这在生产环境中不起作用,则可能是与反向代理(如nginx conf文件)相关的一些设置。如果是这样,请告诉我
在启用站点的Nginx文件文件夹etc/Nginx/sites enabled/
,注释或删除以下行:
proxy_set_header Host $host;
希望它适合你
proxy_set_header Host $host;