Probe every access review connector on status check

Bad API keys and expired OAuth tokens showed Connected because
probes ran only for OAuth2 and many providers had no ProbeURL.
Add a registry ProbeConnection dispatcher with static, dynamic,
and custom probes so all 41 providers are checked on demand.

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-06-11 16:47:19 +02:00
parent 26d64a970f
commit 8d8a5ebb26
22 changed files with 587 additions and 106 deletions

View File

@@ -35,10 +35,7 @@ func anthropicRegistration() *Registration {
// third-party OAuth2 flow for the Admin API, so this is API-key
// only and takes a single admin key (sk-ant-admin...) per org.
APIKeyHeader: "x-api-key",
// ProbeURL is intentionally empty: the generic probe issues a
// header-less GET that cannot send the required anthropic-version
// header, so it would 400 regardless of token validity. A dead
// key surfaces on the first ListAccounts instead.
Probe: probeAnthropic,
NewDriver: func(_ context.Context, c *http.Client, _ *coredata.Connector, _ *log.Logger) (drivers.Driver, error) {
return drivers.NewAnthropicDriver(c), nil
},