studio / publisher /oauth /sessions.py
Ava2lon's picture
Upload 170 files
345855e verified
Raw
History Blame Contribute Delete
543 Bytes
# publisher/oauth/sessions.py
import secrets
import time
_sessions = {}
def create_session(user_id):
state = secrets.token_urlsafe(32)
_sessions[state] = {
"user_id": user_id,
"created": time.time()
}
return state
def get_user(state):
session = _sessions.get(state)
if not session:
return None
return session["user_id"]
def cleanup(expiry=600):
now = time.time()
for k in list(_sessions.keys()):
if now - _sessions[k]["created"] > expiry:
del _sessions[k]