Choose your platform
JavaScript
Hosted sign-in, callback, session and logout.
React
Client state and protected application views.
Next.js
Server sessions, callback routes and cookies.
iOS
System browser and secure token storage.
Android
Browser authorization and app callbacks.
React Native
Native authentication wrapper preparation.
Flutter
Native authentication wrapper preparation.
Prepare your application
- Confirm that Authentication is enabled for your Didit application. Keep sandbox and live applications, origins, redirects and identities separate.
- Register exact callback URLs and browser origins. Do not use wildcard redirects. Local HTTP callbacks are for sandbox only.
- Obtain the runtime base URL for that application. The current runtime uses
/auth/v2/authentication/{application_id}/on your confirmed authentication origin. Do not construct a hosted subdomain from an application name. - Enable the sign-in methods you intend to offer. Hosted sign-in presents configured methods and handles required second factors.
- Test sign-up, sign-in, forgot password, MFA, session expiry and logout before enabling the flow for customers.
Keep one person across products
Choose a stable, non-sensitive identifier from your own user system. Use that value forvendor_data in verification sessions and scoped monitoring tokens. Derive it on your backend from the authenticated user, never from an unchecked browser field.
The release-dependent Authentication identity contract uses your external_id at creation or import as vendor_data, or the Didit identity ID when you do not supply one. Once events exist, this link cannot change. The current opaque-token runtime does not return vendor_data; maintain an explicit server-side mapping from its verified sub until the new contract is enabled. Do not send an undocumented external_id to an authorization request.
Use the shared integration prompt for any combination. See tokens and JWKS, events and webhooks, migration, and bot protection.