curo1305
8be792ab4c
feat(07.3-02): ES256 JWT algorithm upgrade + startup rotation hook
- config.py: add refresh_token_expire_hours=16, jwt_private_key, jwt_public_key fields (D-01, D-09)
- services/auth.py: swap all 4 JWT sites to ES256 via base64-decoded PEM keys; remove HS256 (D-02, D-03)
- main.py: add _rotate_tokens_on_algorithm_change lifespan hook — bulk-revokes refresh tokens on algorithm change; idempotent on repeat boots (D-04, D-05)
- test_auth_es256.py: promote ES256-01..05 + CFG-01 stubs to 6 passing tests; RM-01..03 remain xfail
- docker-compose.yml: inject JWT_PRIVATE_KEY + JWT_PUBLIC_KEY into backend + celery-worker (D-07)
- README.md: add JWT key env vars + key generation Python one-liner snippet
- .env.example: add JWT_PRIVATE_KEY= and JWT_PUBLIC_KEY= lines
- Version bump to 0.1.2
2026-06-06 17:19:50 +02:00
..
2026-05-22 08:53:28 +02:00
2026-06-04 23:15:48 +02:00
2026-06-04 23:19:40 +02:00
2026-06-06 00:02:27 +02:00
2026-06-04 19:14:48 +02:00
2026-06-04 19:10:05 +02:00
2026-05-23 13:42:37 +02:00
2026-06-04 23:15:49 +02:00
2026-06-06 00:11:41 +02:00
2026-06-05 19:19:06 +02:00
2026-06-06 17:19:50 +02:00
2026-05-22 19:52:36 +02:00
2026-06-04 19:14:48 +02:00
2026-05-28 21:06:14 +02:00
2026-05-28 20:58:40 +02:00
2026-05-30 18:04:09 +02:00
2026-05-31 12:04:21 +02:00
2026-06-04 23:08:16 +02:00
2026-06-05 09:30:03 +02:00
2026-05-22 08:53:28 +02:00
2026-05-28 17:10:52 +02:00
2026-05-22 09:53:39 +02:00
2026-05-28 17:10:52 +02:00
2026-06-03 18:47:49 +02:00
2026-06-01 15:43:01 +02:00
2026-06-04 18:27:49 +02:00
2026-05-31 12:04:21 +02:00
2026-05-31 15:21:02 +02:00
2026-05-23 20:32:55 +02:00
2026-05-31 15:04:53 +02:00
2026-05-30 18:56:58 +02:00
2026-06-06 17:13:50 +02:00
2026-06-05 19:15:01 +02:00
2026-05-23 20:15:44 +02:00
2026-05-31 12:04:21 +02:00
2026-05-28 21:07:18 +02:00