# 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]