260717_0
This commit is contained in:
@@ -12,6 +12,8 @@ from fastapi.responses import Response
|
||||
|
||||
from config.config_db import get_db_pool
|
||||
from config.config_system import (
|
||||
DEVICE_TOKEN_COOKIE_NAME,
|
||||
EMAIL_REVERIFY_DAYS,
|
||||
PASSWORD_BCRYPT_ROUNDS,
|
||||
SESSION_COOKIE_NAME,
|
||||
SESSION_COOKIE_SECURE,
|
||||
@@ -39,6 +41,30 @@ def hash_user_agent(user_agent: str) -> str:
|
||||
return hashlib.sha256(normalized.encode("utf-8")).hexdigest()
|
||||
|
||||
|
||||
def generate_device_token() -> str:
|
||||
return secrets.token_urlsafe(32)
|
||||
|
||||
|
||||
def hash_device_token(token: str) -> str:
|
||||
return hashlib.sha256(token.encode("utf-8")).hexdigest()
|
||||
|
||||
|
||||
def get_device_token_cookie(request: Request) -> str | None:
|
||||
return request.cookies.get(DEVICE_TOKEN_COOKIE_NAME)
|
||||
|
||||
|
||||
def set_device_token_cookie(response: Response, token: str) -> None:
|
||||
response.set_cookie(
|
||||
key=DEVICE_TOKEN_COOKIE_NAME,
|
||||
value=token,
|
||||
max_age=EMAIL_REVERIFY_DAYS * 24 * 60 * 60,
|
||||
secure=SESSION_COOKIE_SECURE,
|
||||
httponly=True,
|
||||
samesite="lax",
|
||||
path="/",
|
||||
)
|
||||
|
||||
|
||||
def set_session_cookie(response: Response, session_id: str) -> None:
|
||||
response.set_cookie(
|
||||
key=SESSION_COOKIE_NAME,
|
||||
|
||||
Reference in New Issue
Block a user