Coverage for app\core\security.py: 0%

6 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2026-01-15 13:39 +0300

1from datetime import datetime, timedelta, UTC 

2import jwt 

3 

4from .config import settings 

5 

6 

7def create_access_token(subject: str, role: str, session_id: str = "", expires_hours: int = 24) -> str: 

8 payload = { 

9 "sub": subject, 

10 "role": role, 

11 "session_id": session_id, 

12 "iss": "admin-core", 

13 "aud": "admin-web", 

14 "exp": datetime.now(UTC) + timedelta(hours=expires_hours), 

15 } 

16 return jwt.encode(payload, settings.SECRET_KEY, algorithm="HS256") 

17