我想在进行OAuth登录时设置一些Cookie。但是,在下一个请求中似乎没有cookie。在下面的代码中设置cookie的正确方法是什么?
@app.route("/login")
def login():
verifier = request.args.get("oauth_verifier","")
if verifier:
token = request.cookies.get("token")
secret = request.cookies.get("secret")
access_token = oauth_helper.get_access_token(token,secret,verifier)
resp = make_response()
resp.set_cookie("token_key", access_token.key, max_age= 7*60*60 * 1000)
resp.set_cookie("secret_key", access_token.secret, max_age= 7*60*60 * 1000)
return redirect("/")
else:
token, secret, registration_url = oauth_helper.get_request_token_url()
resp = make_response()
resp.set_cookie('token', token, max_age= 60 * 1000)
resp.set_cookie("secret", secret, max_age= 60 * 1000)
return redirect(registration_url)
最佳答案
您正在创建一个响应并设置一些cookie,但随后将其丢弃并返回带有重定向的其他响应。相反,重定向应该是您在其上设置cookie的响应。
resp = redirect('/')
resp.set_cookie('token_key', access_token.key)
resp.set_cookie('secret_key', access_token.secret)
return resp
关于python - 根据响应设置的Cookie似乎不会持续存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28020917/