Add session_id, make token size more reasonable (#983)

* Add session_id, make token size more reasonable

* Use more direct approach
This commit is contained in:
Henry Ruhs
2026-05-11 16:31:45 +02:00
committed by henryruhs
parent 87678da498
commit ba884a19b1
5 changed files with 65 additions and 52 deletions
+20 -13
View File
@@ -3,16 +3,16 @@ from datetime import datetime, timedelta
from typing import Dict
from typing import Optional
from facefusion.types import Session, Token
from facefusion.types import Session, SessionId
SESSIONS : Dict[Token, Session] = {}
SESSIONS : Dict[SessionId, Session] = {}
def create_session() -> Session:
session : Session =\
{
'access_token': secrets.token_urlsafe(128),
'refresh_token': secrets.token_urlsafe(128),
'access_token': secrets.token_urlsafe(64),
'refresh_token': secrets.token_urlsafe(64),
'created_at': datetime.now(),
'expires_at': datetime.now() + timedelta(minutes = 10)
}
@@ -20,20 +20,27 @@ def create_session() -> Session:
return session
def get_session(access_token : Token) -> Optional[Session]:
return SESSIONS.get(access_token)
def get_session(session_id : SessionId) -> Optional[Session]:
return SESSIONS.get(session_id)
def set_session(access_token : Token, session : Session) -> None:
SESSIONS[access_token] = session
def find_session_id(access_token : str) -> Optional[SessionId]:
for session_id, session in SESSIONS.items():
if session.get('access_token') == access_token:
return session_id
return None
def validate_session(access_token : Token) -> bool:
session = get_session(access_token)
def set_session(session_id : SessionId, session : Session) -> None:
SESSIONS[session_id] = session
def validate_session(session_id : SessionId) -> bool:
session = get_session(session_id)
return session and datetime.now() <= session.get('expires_at')
def clear_session(access_token : Token) -> None:
if access_token in SESSIONS:
del SESSIONS[access_token]
def clear_session(session_id : SessionId) -> None:
if session_id in SESSIONS:
del SESSIONS[session_id]