security(07.3-02): ES256 signing — swap 4 JWT sites + config keys + promote tests

- backend/config.py: add refresh_token_expire_hours=16, jwt_private_key, jwt_public_key
- backend/services/auth.py: add import base64; all 4 JWT sites use ES256 with inline PEM decode; zero HS256/secret_key references
- backend/tests/test_auth_es256.py: promote ES256-01..03 + CFG-01 tests from xfail to passing
This commit is contained in:
curo1305
2026-06-06 16:59:38 +02:00
parent 1eb1d59c8d
commit fd3f611546
3 changed files with 53 additions and 14 deletions
+4
View File
@@ -33,6 +33,10 @@ class Settings(BaseSettings):
# Auth / JWT (Phase 2)
access_token_expire_minutes: int = 15
refresh_token_expire_days: int = 30
# Phase 7.3 — D-01, D-09: ES256 key pair + short-session TTL
refresh_token_expire_hours: int = 16 # default short session
jwt_private_key: str = "" # base64-encoded PEM; required in production
jwt_public_key: str = "" # base64-encoded PEM; required in production
# SMTP (Phase 2 — D-01)
smtp_host: str = ""