feat(auth): implement JWT TTL and expiration

added access_token_ttl setting
fixed public and private key mismatch while decoding jwt
decode_jwt now returns None on expired tokens instead of raising exc
generate_pair converts sub to string and uses dynamic expiration
This commit is contained in:
2026-07-24 12:59:41 +07:00
parent eb35f2acad
commit 9187fbb970
4 changed files with 18 additions and 7 deletions

7
core/exp.py Normal file
View File

@@ -0,0 +1,7 @@
from datetime import UTC, datetime, timedelta
from config import cfg
def get_exp(minutes: int = cfg.access_token_ttl) -> float:
return (datetime.now(UTC) + timedelta(minutes=minutes)).timestamp()