28 lines
463 B
Python
28 lines
463 B
Python
from dataclasses import dataclass
|
|
from typing import Literal
|
|
|
|
from db.models.users import User
|
|
|
|
|
|
@dataclass
|
|
class KeyPair:
|
|
access_token: str
|
|
refresh_token: str
|
|
expires_at: float
|
|
|
|
|
|
@dataclass
|
|
class AuthContext:
|
|
user: User
|
|
auth_method: Literal["jwt", "service"]
|
|
service: str | None = None
|
|
|
|
|
|
@dataclass
|
|
class ServiceIdentity:
|
|
"""
|
|
Proves that request is coming from verified source, no user context provided.
|
|
"""
|
|
|
|
service: str
|