payroll.yourcompany.com).
Prerequisites
JWT-compliant auth system
Your identity provider must issue standard JWTs and expose a JWKS (JSON Web Key Set) endpoint for signature verification. Cadana supports popular providers including Auth0, AWS Cognito, and Stytch. Custom engines are also supported — contact your account manager to confirm compatibility.
API key from Dashboard
Get your API key from the Cadana Dashboard. See Authentication for details.
How It Works
- User logs in to your application
- You issue a JWT with the user’s identity
- You exchange the JWT with Cadana for a one-time redirect token
- You redirect the user to the branded white-label app with the token
- Cadana validates the token and establishes an active session
Step 1: Configure SSO Settings
Configure the following settings for your platform:| Setting | Description | Example |
|---|---|---|
| Auth Issuer (ISS) | Your identity provider’s issuer URL | https://auth.yourcompany.com |
| JWKS Endpoint | URL where Cadana fetches your public keys | https://auth.yourcompany.com/.well-known/jwks.json |
| Login URL | Where Cadana redirects when a session expires | https://yourcompany.com/login |
| Logout URL | Where Cadana redirects when a user logs out | https://yourcompany.com/logout |
SSO settings are currently configured with the help of your Cadana account manager. Self-service configuration in the Dashboard is coming soon.
Step 2: Create the User with SSO
When onboarding a user who will access the white-label app via SSO, first create their Person and User records. See Onboard Workers for the full Person creation flow. Once the Person exists, create the User withPOST /v1/users/invite. Set suppressWelcomeEmail to true so they don’t receive the default Cadana sign-up email — they’ll log in through your system instead.
Step 3: Attach Your Auth ID to the User
For every user, attach your internal auth identifier as thesub (subject) on their Cadana User record. This is the critical step that ties your identity system to Cadana’s.
Use PUT /v1/users/{userId}/sub with the tokenSub field set to your internal user ID — the same value that appears in the sub claim of your JWTs.
Returns 204 on success.
Step 4: Exchange JWT for Redirect Token
When a user needs to access the white-label app, exchange their JWT for a Cadana redirect token usingPOST /v1/auth/login/jwt.
Response:
JWT Requirements
Your JWT must include these claims:| Claim | Required | Description |
|---|---|---|
iss | Yes | Issuer — must match the Auth Issuer you configured in Step 1 |
sub | Yes | Subject — the user’s unique ID, must match the tokenSub you attached in Step 3 |
exp | Yes | Expiration timestamp |
iat | Yes | Issued-at timestamp |
Step 5: Redirect to the White-Label App
Use the redirect token to send the user to the white-label app. The token is one-time use — once consumed, it establishes an active session. Default Cadana domain:Session Management
Cadana manages session lifecycle automatically. When a session event occurs, Cadana redirects the user to the URLs you configured in Step 1:| Event | Redirect destination |
|---|---|
| Session expires | Your Login URL — user re-authenticates and you repeat the JWT exchange |
| User logs out | Your Logout URL — handle cleanup in your app |