You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Emit RateLimitRejected security events for all four OAuth rate-limit policies #1164
PR #1136's deferred-work section records the missing events. Its merge-update comment confirms all four policies: oauth-authorize, oauth-token, oauth-register and oauth-api. The deferred-work section says three, but the merged code has four.
This is an observability gap. The rate limits already work.
Acceptance criteria
Each rejected request under those four policies emits exactly one warning with the existing SecurityEvents.RateLimitRejected value (Auth.RateLimitRejected). Include the policy name, client IP and request path as structured properties.
Select the event by the endpoint's attached policy, not a list of URL paths.
Keep the existing 429 response, Retry-After, limits and partition keys unchanged. Login/refresh logging still works; client-errors rejections still emit no security event.
Do not log bearer tokens, authorization codes, PKCE verifiers, passwords, request bodies or query strings.
Integration tests drive actual rejections for all four policies and inspect the captured events. Use a test-only AcceptOAuthTokens endpoint for oauth-api; no MCP endpoint is required. Include allowed-request and client-errors controls.
Activity