Current runtime
SetDIDIT_AUTH_BASE_URL to the confirmed application runtime URL, including its trailing slash. These calls use end-user credentials, not your verification API key or console access token.
An authorization code is single-use and expires after 60 seconds. Check callback
state before exchanging it, and use the exact redirect URI and original PKCE verifier. Access tokens last at most five minutes; session lifetime and idle policy are separate limits.
sub, sid, application_id, amr, mfa_verified, email, email_verified, phone, verified_identity, expires_at and organizations. verified_identity can be null. Do not treat a verified email as a completed identity verification.
JWT and JWKS release contract
The following describes the planned issuer contract. Use it only after your application’s release provides discovery, keys and the SDK verifier. It is not an installation or endpoint reference for the current runtime.
jwks_uri. Access tokens will use ES256, last five minutes and be separate from ID tokens. Refresh tokens remain opaque and rotating.
Your server must verify the signature, allowed algorithm, issuer, audience and time claims before trusting any claim. Obtain discovery from a configured issuer, never from an unverified token. Cache keys by issuer and key ID; allow the published rotation overlap, refresh on an unknown key ID, and reject if no trusted key verifies the token.
Offline signature verification cannot detect an immediately revoked session. Use
GET session/ when you need a current revocation check. Do not use an ID token as an API access token, and do not authorize an agent beyond its grant scopes.
Store credentials by purpose
- Keep verification API keys and console management tokens on your server.
- Keep browser access tokens in memory where possible. Use secure, HttpOnly cookies for server sessions; protect cookie-authenticated mutations against CSRF.
- Store mobile refresh tokens in platform-protected storage. Clear local state after logout and treat revocation failures as failures.
- A publishable key identifies the application for the future SDK; it is not a server secret or proof of an end user’s identity.