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
Commit d6b3a73
Browse filesBrowse the repository at this point in the historyBrowse files
vgi-rpc removed the per-caller limiter from vgi_rpc.Identity.v1: the
allowlisted caller is a proxy introspecting on behalf of every client, so the
per-caller budget was one budget for every user's login, drainable by
unauthenticated junk credentials, while bounding only guessing -- which a
random credential defeats at any rate.
Removes `create_app(introspect_rate_limit=)`, `--introspect-rate-limit`,
`VGI_INTROSPECT_RATE_LIMIT` and its validation, and the env republish for
granian children. vgi-rpc keeps accepting the keyword for one release as a
deprecated no-op because 0.34.1 passes it; this version does not, which a test
pins by building the identity under an error filter for DeprecationWarning.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|`VGI_OAUTH_USE_ID_TOKEN`| When `1`/`true`/`yes`, clients use OIDC `id_token` as Bearer instead of `access_token`|
300
300
|`VGI_INTROSPECT_PRINCIPALS`| Comma-separated principals permitted to call `vgi_rpc.Identity.v1`'s `introspect_token`. Required — no permissive default — whenever the worker implements `resolve_token()` (see below) |
301
-
|`VGI_INTROSPECT_RATE_LIMIT`| Introspection requests allowed per caller per second (default 20) |
302
301
|`VGI_WORKER_ACCESS_LOG_SAMPLE`| Fraction of *successful* calls to keep in the access log, `0.0`–`1.0`. Errors are always kept; the decision is per call, so every record of one stream shares a fate |
303
302
|`VGI_WORKER_ACCESS_LOG_ASYNC`| When `1`/`true`/`yes`, emit access-log records from a listener thread. Bounded queue; full means drop, and a crash loses whatever is queued |
304
303
|`VGI_WORKER_ACCESS_LOG_QUEUE_SIZE`| Bound on the async access-log queue (default 10000) |
@@ -461,8 +460,10 @@ Enabling it also requires an allowlist of principals permitted to ask, via
461
460
default and a worker that overrides the hook without one **refuses to start**:
462
461
authenticating and introspecting are different capabilities, and "any
463
462
authenticated caller" lets any user resolve any other user's credential to its
464
-
owner. `--introspect-rate-limit` (default 20/caller/second) bounds, rather than
465
-
closes, the oracle an allowlisted-but-compromised caller still has.
463
+
owner. Introspection is deliberately not rate limited (vgi-rpc removed the
464
+
limiter): the allowlisted caller is a proxy asking on behalf of every client, so a
465
+
per-caller limit was one budget for every user's login, drainable by junk
466
+
credentials. Throttle untrusted traffic at the proxy, per client.
466
467
467
468
Return `None` for "the store answered and this credential is unknown"; raise
468
469
`AuthUnavailableError` for "the answer is not knowable". A caller that
0 commit comments