mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-08-30 09:07:40 -05:00
The refresh-token and OAuth token endpoints shared the 10 requests/minute floor that protects login, register and password reset. Access tokens live for 10 minutes, so every client renews its session several times an hour -- and behind a reverse proxy `service.ipextractionmethod` defaults to `direct`, which keys all of them to the proxy's address. Routine renewals therefore used up the login budget, and users got "Too many requests" when signing in. This hit the desktop app hardest: it exchanges its authorization code on the very same endpoint it refreshes tokens on. Renewal now has a separate limiter with its own `ratelimit.tokenrefreshlimit` setting, defaulting to 60 requests/minute. Both limits stay enforced.