Ruben Fiszel and Claude Opus 4.7
e73770c247
fix: derive debug signing key deterministically from JWT_SECRET ( #8917 )
...
Previously each API replica generated a random Ed25519 signing key at
startup (unless DEBUG_SIGNING_KEY_SEED was set). In multi-replica
deployments this caused "Invalid JWT signature" rejections in the
multiplayer server: the browser could sign a token on pod A while
`windmill-extra` had cached the JWKS public key from pod B.
Derive the seed deterministically from the DB-backed JWT_SECRET using
SHA-256 with a domain-separation tag so all pods agree without
coordination. Re-derive on JWT_SECRET rotation. The
DEBUG_SIGNING_KEY_SEED env var is still honored as an override.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-22 20:05:08 +00:00
..
2026-04-14 00:04:10 +00:00
2026-02-07 22:12:55 +00:00
2026-04-17 17:01:55 +00:00
2026-04-22 11:20:27 +00:00
2026-03-26 08:18:01 +00:00
2025-06-02 22:12:33 +02:00
2026-04-14 00:04:10 +00:00
2026-04-07 12:14:24 +00:00
2026-03-27 09:55:04 +00:00
2026-03-04 11:50:59 +00:00
2026-01-20 12:52:58 +00:00
2026-04-22 11:20:27 +00:00
2026-03-27 09:55:04 +00:00
2026-02-07 22:12:55 +00:00
2026-04-05 14:00:44 +00:00
2026-03-08 16:18:22 +00:00
2026-03-27 09:55:04 +00:00
2026-02-07 22:12:55 +00:00
2026-02-07 22:12:55 +00:00
2026-02-04 18:48:51 +00:00
2026-03-27 09:55:04 +00:00
2026-02-08 12:12:03 +00:00
2026-02-08 12:12:03 +00:00
2025-06-02 22:12:33 +02:00
2026-04-22 11:20:27 +00:00
2026-02-08 12:12:03 +00:00
2026-03-27 09:55:04 +00:00
2026-02-08 12:12:03 +00:00
2026-03-28 09:32:10 +00:00
2026-03-03 16:46:10 +00:00
2025-12-10 17:28:56 +00:00
2026-04-14 00:04:10 +00:00
2026-03-24 09:45:37 +00:00
2026-03-05 06:19:51 +00:00
2026-02-07 22:12:55 +00:00
2026-02-07 22:12:55 +00:00
2026-04-21 15:06:46 +00:00
2026-04-22 20:05:08 +00:00
2026-02-07 22:12:55 +00:00
2026-01-14 12:06:40 +00:00
2026-02-11 06:44:10 +00:00
2026-04-14 00:04:10 +00:00
2026-04-17 12:11:12 +00:00
2025-06-02 22:12:33 +02:00
2026-04-06 03:44:21 +00:00
2026-01-14 12:06:40 +00:00
2026-02-07 22:12:55 +00:00
2026-04-03 17:39:32 +00:00
2026-03-27 09:55:04 +00:00
2026-04-03 13:46:09 +00:00
2025-09-04 22:05:22 +00:00
2026-03-22 17:18:22 +00:00
2026-03-27 09:55:04 +00:00
2026-03-27 09:55:04 +00:00
2026-04-08 20:35:27 +00:00
2026-03-30 08:18:08 +00:00
2026-04-02 20:55:23 +00:00
2025-06-02 22:12:33 +02:00
2025-12-25 16:29:49 +00:00
2025-06-02 22:12:33 +02:00
2025-06-02 22:12:33 +02:00
2025-09-19 17:43:16 +00:00
2026-02-07 22:12:55 +00:00
2026-04-22 13:42:22 +00:00
2026-04-13 21:50:50 +00:00
2026-03-27 09:55:04 +00:00
2026-03-20 12:37:05 +00:00
2026-04-17 18:12:30 +00:00
2026-02-11 10:31:03 +00:00
2026-02-07 22:12:55 +00:00
2026-03-05 06:19:51 +00:00
2026-02-08 00:39:56 +00:00
2026-03-27 09:55:04 +00:00
2026-04-22 19:31:37 +00:00
2026-03-27 09:55:04 +00:00