我想在进行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)
答案 0 :(得分:2)
您正在创建响应并设置一些Cookie,但随后将其丢弃并使用重定向返回不同的响应。相反,重定向应该是您设置cookie的响应。
resp = redirect('/')
resp.set_cookie('token_key', access_token.key)
resp.set_cookie('secret_key', access_token.secret)
return resp