Hermes Agent
b2cca91b6b
hermes: derive the oauth2-proxy callback from the request host
...
Restoring the legacy chat/triage hosts is not enough on its own: both
proxies pinned --redirect-url to the renamed host, and oauth2-proxy
returns that value verbatim whenever it carries a host
(getOAuthRedirectURI short-circuits on redirectURL.Host != ""). A login
started on a legacy host would therefore send the browser to the
canonical host's callback, while the CSRF cookie stays behind: it is
issued with the __Host- prefix, which forbids a Domain attribute and
pins it to the exact origin. The callback lands without it and fails as
"unable to find a valid CSRF token".
Drop the host from both callback URLs so oauth2-proxy builds them from
the request host instead. For the renamed hosts the derived value is
byte-identical to the pinned one, so their behaviour is unchanged; the
legacy hosts now complete a login on the host the user actually visited.
Derivation reads X-Forwarded-Host only behind a trusted reverse proxy,
which both deployments already declare, and Keycloak still matches the
result against the redirect URIs registered by the ensure script.
The agent proxy keeps its pinned callback: it serves one host.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 09:09:54 +00:00
..
2026-08-17 17:27:11 +00:00
2026-08-18 06:28:18 -03:00
2026-08-16 05:13:20 -03:00
2026-08-18 00:42:53 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 15:33:56 +00:00
2026-08-17 15:33:56 +00:00
2026-08-17 15:33:56 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:29:29 +00:00
2026-08-17 07:58:44 -03:00
2026-08-17 16:29:29 +00:00
2026-08-17 16:31:15 +00:00
2026-08-18 06:55:51 -03:00
2026-08-17 07:58:44 -03:00
2026-08-20 18:14:55 +00:00
2026-08-17 14:39:21 +00:00
2026-08-17 16:29:29 +00:00
2026-08-15 22:15:40 -03:00
2026-08-18 01:43:39 -03:00
2026-08-18 02:00:19 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 07:19:10 -03:00
2026-08-18 01:43:39 -03:00
2026-08-18 02:00:19 -03:00
2026-08-18 01:43:39 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 15:03:59 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 15:03:59 -03:00
2026-08-17 20:31:12 -03:00
2026-08-18 01:18:06 -03:00
2026-08-17 20:31:12 -03:00
2026-08-17 07:19:10 -03:00
2026-08-18 00:57:54 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 15:03:59 -03:00
2026-08-17 07:19:10 -03:00
2026-08-18 01:43:39 -03:00
2026-08-17 20:31:12 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 08:16:35 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 20:46:00 -03:00
2026-08-17 20:31:12 -03:00
2026-08-18 01:43:39 -03:00
2026-08-17 15:03:59 -03:00
2026-08-17 15:03:59 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 17:27:11 +00:00
2026-08-17 17:27:11 +00:00
2026-08-17 17:27:11 +00:00
2026-08-18 01:18:06 -03:00
2026-08-17 17:27:11 +00:00
2026-08-17 20:46:00 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 07:19:10 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 16:29:29 +00:00
2026-08-17 07:58:44 -03:00
2026-08-17 15:15:35 -03:00
2026-08-17 20:37:30 -03:00
2026-08-21 07:11:55 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-18 02:00:19 -03:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 16:31:15 +00:00
2026-08-17 15:15:47 -03:00
2026-08-17 15:15:35 -03:00
2026-08-17 15:15:35 -03:00
2026-08-18 18:21:38 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 16:31:15 +00:00
2026-08-17 07:58:44 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 13:11:34 +00:00
2026-08-18 18:21:38 -03:00
2026-08-17 13:11:34 +00:00
2026-08-17 16:24:37 +00:00
2026-08-18 16:28:25 -03:00
2026-08-18 18:21:38 -03:00
2026-08-17 13:11:34 +00:00
2026-08-17 13:11:34 +00:00
2026-08-17 16:24:37 +00:00
2026-08-18 18:21:38 -03:00
2026-08-17 13:11:34 +00:00
2026-08-18 18:21:38 -03:00
2026-08-17 16:24:37 +00:00
2026-08-17 13:11:34 +00:00
2026-08-17 16:24:37 +00:00
2026-08-17 08:25:52 -03:00
2026-08-17 15:10:17 -03:00
2026-08-17 08:25:52 -03:00
2026-08-17 08:25:52 -03:00
2026-08-17 08:25:52 -03:00
2026-08-17 21:07:06 -03:00
2026-08-17 08:25:52 -03:00
2026-08-16 04:49:02 -03:00
2026-08-18 06:51:36 -03:00
2026-08-18 06:51:36 -03:00
2026-08-15 03:44:00 -03:00
2026-08-11 23:12:43 -03:00
2026-08-17 07:58:44 -03:00
2026-08-18 16:28:25 -03:00
2026-08-17 16:31:15 +00:00
2026-08-17 07:58:44 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 20:37:30 -03:00
2026-08-17 07:58:44 -03:00
2026-08-18 16:28:25 -03:00
2026-08-17 20:37:30 -03:00
2026-08-17 15:15:47 -03:00
2026-08-21 09:09:54 +00:00
2026-08-17 15:15:47 -03:00
2026-08-18 02:00:19 -03:00
2026-08-18 02:00:19 -03:00
2026-08-18 02:00:19 -03:00
2026-08-17 15:15:35 -03:00
2026-08-17 07:58:44 -03:00
2026-08-17 15:15:47 -03:00
2026-08-17 15:15:35 -03:00
2026-08-17 15:15:47 -03:00
2026-08-17 15:15:47 -03:00
2026-08-18 02:00:19 -03:00
2026-08-17 07:58:44 -03:00
2026-08-15 00:34:08 -03:00
2026-08-20 23:13:51 +00:00
2026-08-17 07:19:10 -03:00
2026-08-09 14:38:51 -03:00
2026-04-21 11:39:13 -03:00
2026-08-05 16:21:36 -03:00
2026-08-05 16:21:36 -03:00
2026-08-18 06:28:18 -03:00
2026-08-18 06:28:18 -03:00
2026-04-20 15:29:46 -03:00
2026-08-17 15:10:17 -03:00
2026-08-17 15:10:17 -03:00
2026-08-05 16:21:36 -03:00
2026-08-18 06:28:18 -03:00
2026-08-05 16:21:36 -03:00