Connect an OpenID Connect app
Status: OIDC is supported. SAML guide is separate.
- Register. Manage integrations → Add application → OpenID Connect. Start with the test registration.
- Settings. Add your exact redirect URI(s). Server apps are confidential and get a client secret (shown once). Browser apps are public and never get a secret.
- Configure your app with any standard OIDC client library — no FarnorID SDK needed:
- Issuer:
https://auth.farnorid.com/oidc(test:https://auth.farnorid.com/test/oidc) — discovery fills in every endpoint. - Flow: Authorization Code with PKCE
S256. Implicit and password grants are not available. - Scopes:
openidplusprofile,email,offline_accessas registered. - Use the ID token's
subas the user key. It's stable for your app and never changes with email. Don't key accounts by email.
- Issuer:
- Optional, recommended: after your callback creates its session, call
POST https://auth.farnorid.com/api/partner/confirmwithAuthorization: Bearer <access token>. FarnorID then shows “App confirmed sign-in” instead of “Sign-in sent to app”. - Sign-out on revoke: register a back-channel logout URL (OIDC Back-Channel Logout 1.0). Partner apps also call
POST https://auth.farnorid.com/api/partner/status(client_secret_basic, body{"sub": "…"}) at least every 60 seconds for protected access and treat any error as signed out. - Test connection → run the test, sign in from your app, confirm all four steps pass.
- Production: fill in production settings (separate client ID and secret), publish the domain token at
/.well-known/farnorid-domain.txt, test again, then Enable for production.
Token lifetimes: authorization code 60 s (single use), ID/access token 5 min, refresh 7-day idle / 30-day absolute with rotation. A token already issued can't be recalled from an app that validates it offline — use the status check for fast sign-out.
Reference app: reference/oidc-app.ts (Node, openid-client).