team_owner role. API keys cannot manage provider configs.
The callback URL
Every provider config exposes acallback_url in its read response. This is the URL you must register in the external provider’s developer console as an allowed redirect URI.
The callback URL has this form:
Register a Google provider
Google is the only provider that can auto-create member accounts on first login without additional configuration (verified email required). Ageneric_oidc provider can also auto-create accounts for new members whose email belongs to a company domain the hub has verified — see the Verified-Domain SSO guide. Facebook and generic_oauth2 never auto-create accounts regardless of domain configuration.
Prerequisites:
- A Google Cloud project with the OAuth consent screen configured.
- OAuth 2.0 credentials (client ID + secret) for a “Web application”.
- The
callback_urlfrom Step 1 registered as an “Authorised redirect URI” in Google Console.
client_secret is write-only — it is AES-256-GCM encrypted at rest and never returned. The client_secret_set: true flag confirms a secret is stored.
Google’s authorization, token, and JWKS endpoints are hardcoded platform constants — you do not supply them.
Register a Facebook provider
Facebook members cannot auto-create accounts. They must connect their Facebook identity while already logged in, then use Facebook to log in on subsequent visits. Prerequisites:- A Facebook App (facebook.com/developers) with “Facebook Login” product added.
- The
callback_urladded to “Valid OAuth Redirect URIs” in the Facebook App Dashboard.
Register a generic OIDC provider
Use this for company SSO (Okta, Auth0, Azure AD, Keycloak, etc.) or any standards-compliant OIDC Identity Provider. By default, generic OIDC members cannot auto-create accounts — they must connect while logged in first. Exception: if the hub has a Verified Domain configured, new members whose email matches a verified domain can have accounts created automatically on first login (connect-first: the platform never merges into an existing account). Prerequisites:- The
callback_urlregistered as a redirect URI in your IdP. - Your IdP’s discovery URL (typically
https://your-idp.example.com/.well-known/openid-configuration).
issuermust not behttps://accounts.google.comor any other platform-trusted issuer. Generic configs claiming a trusted issuer are rejected (prevents token-forging attacks).- All URL fields (
discovery_url,authorize_url,token_url,userinfo_url,jwks_uri) are SSRF-validated: HTTPS-only, no loopback, no private IPs, no cloud metadata endpoints.
authorize_url, token_url, jwks_uri) instead of discovery_url if your IdP does not expose a discovery document. If discovery_url is supplied, it takes precedence and the individual fields are populated from it at runtime — supply only the ones your IdP does not include in its discovery document.
Register a generic OAuth2 provider
Use for providers that do not support OIDC (noid_token) but expose a userinfo-style endpoint.
claim_map is optional. Use it when the provider’s userinfo response uses non-standard claim names. Keys are the standard member.dev field names (sub, email, email_verified, name); values are the corresponding claim names in the provider’s userinfo response. The sub field is required.
Provider config attributes reference
issuer, discovery_url, authorize_url, token_url, userinfo_url, jwks_uri, scopes, and claim_map are ignored for pre-canned providers (google, facebook) — their endpoints are hardcoded platform constants.
List providers
Retrieve a provider
Update a provider (PATCH)
PATCH is partial — only supply the fields you want to change.Delete a provider
Soft-deletes the config. Existing member logins linked to this provider will fail (no existing link to resolve against). Returns204 No Content.