If login isn't completed in 10 minutes, expire the cookie and require a
start-over.
import json
import os
import sys
+import time
import urllib.parse
from Cryptodome import Random
from Cryptodome.Cipher import AES
def set_encrypted_oauth_cookie_on(response, cookiecontent, path=None):
+ cookiecontent['_ts'] = time.time()
cookiedata = json.dumps(cookiecontent)
r = Random.new()
nonce = r.read(16)
base64.urlsafe_b64decode(parts['t'][0]),
)
- return json.loads(s)
+ d = json.loads(s)
+ if time.time() - d['_ts'] > 10 * 60:
+ # 10 minutes to complete oauth login
+ raise OAuthException("Cookie expired")
+ del d['_ts']
+
+ return d
def delete_encrypted_oauth_cookie_on(response):