2017-08-15 67 views
0

任何人都可以请告诉我如何设置cookie过期,以便日期是在本地时区而不是UTC?我需要将Cookie的过期日期设置为创建后的30分钟,唯一的问题是Cookie创建日期位于本地时区,并且过期日期是UTC,因此如果用户位于UTC +时区,Cookie从未被创造。在当地时间烧瓶cookie过期日期

我试过设置exp。日期使用datetime.now() + timedelta(minutes=float(30)),其中datetime.now()返回当地时间,但似乎Flask将其转换为UTC。

编辑:cookie创建:

if 'access_token' and 'expire_in' in auth_tokens: 
    expire_date = datetime.now() + timedelta(minutes=float(auth_tokens['expire_in'])) 
    response.set_cookie('access_token', str(auth_tokens['access_token']), expires=expire_date, secure=is_secure, httponly=False) 

任何帮助,将不胜感激。

+0

请问您能展示更多代码吗?具体如何创建cookie? – Dylan

+0

当然,用更新后的代码编辑了评论。 – DanielOrtel

+0

为什么不使用'max_age = timedelta(分钟= 30)'而不是设置绝对'expires'?另外 - 你的'if'条件没有达到你想象的那样,你很可能想要:'auth_tokens'中的'access_token'和auth_tokens中的'expire_in'... –

回答

1

按照JonClements的评论设置max_age=timedelta(minutes=30)解决了这个问题。