Python 先前设置的请求cookies在Flask应用程序中不返回任何值

Python 先前设置的请求cookies在Flask应用程序中不返回任何值,python,flask,cookies,Python,Flask,Cookies,我正在尝试将JWT令牌存储在Flask应用程序的cookie中,以限制某些端点。端点“/authorize”负责设置cookies,然后将页面重定向到根端点“/” 然而,当我试图部署它时,我在重定向方面遇到了一些问题,因此必须将redirect(“/”)更改为redirect(“/”)https://someaddress.com/)“其中https://someaddress.com/是烧瓶应用程序的地址。现在,当我尝试在根端点中检索令牌cookie时,它返回None。我怀疑这是因为重定向已从

我正在尝试将JWT令牌存储在Flask应用程序的cookie中,以限制某些端点。端点“/authorize”负责设置cookies,然后将页面重定向到根端点“/”

然而,当我试图部署它时,我在重定向方面遇到了一些问题,因此必须将
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;