kolaente and kolaente
2c9e71a2b3
fix(ratelimit): don't panic on unauthenticated requests
...
With ratelimit.kind at its default value of "user", the rate limit
middleware logged the error from GetAuthFromClaims and then dereferenced
the nil web.Auth anyway. Every unauthenticated /api/v2 request produces
exactly that state, since v2 attaches the limiter to the single group
serving its public routes too - so enabling rate limiting turned
/api/v2/info, /api/v2/health and /api/v2/login into 500s. v1 is
unaffected because it splits its unauthenticated routes into their own
ip-keyed subgroups before the "user" limiter is attached.
Fall back to keying by IP, matching the "ip" kind and v1's
unauthenticated groups. Authenticated requests are unchanged.
2026-07-27 22:31:06 +00:00
..
2026-07-03 16:56:03 +00:00
2026-07-18 10:00:37 +02:00
2026-07-19 18:59:34 +02:00
2026-07-07 11:57:04 +00:00
2026-07-10 17:52:01 +02:00
2026-07-03 16:56:03 +00:00
2026-06-03 19:48:08 +00:00
2026-06-05 08:49:23 +00:00
2026-06-05 07:40:07 +00:00
2026-06-19 18:27:33 +02:00
2026-06-17 20:34:38 +00:00
2026-07-19 18:59:34 +02:00
2026-06-03 19:58:27 +00:00
2026-06-02 11:55:25 +00:00
2026-06-17 11:31:50 +00:00
2026-06-11 20:07:43 +00:00
2026-06-12 08:47:08 +00:00
2026-06-05 08:51:39 +00:00
2026-06-26 08:56:15 +00:00
2026-06-09 20:13:02 +00:00
2026-06-10 17:55:52 +00:00
2026-05-31 12:56:57 +00:00
2026-05-31 12:56:57 +00:00
2026-06-19 14:19:19 +00:00
2026-06-10 11:56:05 +02:00
2026-06-05 08:33:47 +00:00
2026-06-09 11:40:04 +00:00
2026-06-05 09:17:25 +00:00
2026-06-12 08:51:19 +00:00
2026-06-12 08:51:19 +00:00
2026-06-11 18:35:55 +00:00
2026-06-17 20:35:28 +00:00
2026-06-07 10:05:24 +00:00
2026-07-19 18:59:34 +02:00
2026-06-07 15:33:20 +00:00
2026-06-06 21:09:56 +00:00
2026-06-07 10:37:59 +00:00
2026-07-19 18:59:34 +02:00
2026-07-27 22:31:06 +00:00
2026-06-09 21:34:22 +00:00
2026-06-29 08:12:35 +02:00
2026-06-07 10:40:20 +00:00
2026-06-05 08:21:48 +00:00
2026-06-07 09:57:51 +00:00
2026-06-09 19:42:16 +00:00
2026-06-06 19:06:12 +00:00
2026-07-11 18:53:09 +02:00
2026-07-19 18:59:34 +02:00
2026-06-11 18:31:03 +00:00
2026-06-05 07:43:38 +00:00
2026-06-03 20:29:15 +00:00
2026-06-10 11:55:51 +02:00
2026-06-09 20:42:00 +00:00
2026-07-07 11:38:33 +02:00
2026-06-09 19:50:58 +00:00
2026-06-07 10:48:23 +00:00
2026-06-05 08:06:54 +00:00
2026-06-17 12:13:50 +00:00
2026-06-08 13:54:09 +00:00
2026-07-19 18:59:34 +02:00
2026-06-17 18:39:38 +00:00
2026-06-11 20:07:43 +00:00
2026-06-11 07:02:31 +00:00
2026-06-17 18:39:38 +00:00
2026-06-10 19:12:41 +00:00
2026-06-11 20:07:43 +00:00
2026-06-06 21:09:56 +00:00
2026-06-05 07:40:07 +00:00
2026-07-19 18:59:34 +02:00
2026-07-19 18:59:34 +02:00
2026-06-17 19:43:41 +00:00
2026-07-19 18:59:34 +02:00
2026-07-26 09:39:41 +00:00
2026-07-19 18:59:34 +02:00
2026-07-19 18:59:34 +02:00