Okta SSO for Zaun Partners
Configure single sign-on between your Okta tenant and the Zaun Partners portal at partners.zaun.ai.
This guide walks an Okta admin through configuring single sign-on between their Okta tenant and the Zaun Partners portal at partners.zaun.ai.
How it works
Zaun Partners uses AWS Cognito as an OIDC broker that federates with your Okta tenant. End-user sign-in flow:
- User visits
https://partners.zaun.ai/sign-in - Clicks Continue with Okta
- Cognito redirects to your Okta tenant for authentication
- After authentication, Cognito issues a Zaun Partners session and the user lands in the portal
Zaun Partners does not support just-in-time user provisioning. Every user must be invited by a Zaun Partners admin before they can sign in, even after Okta SSO is wired up.
Prerequisites
- Okta admin access in your organization's Okta tenant
- An existing Zaun Partners account, or a contact at Zaun who can create one
- The list of users in your organization who need access
Setup overview
| Step | Who | What |
|---|---|---|
| 1 | You | Create an OIDC application in Okta |
| 2 | You | Configure the authorization server access policy |
| 3 | You | Send client credentials to Zaun |
| 4 | Zaun | Register your Okta tenant as an identity provider in Cognito |
| 5 | You | Assign users to the Okta app |
| 6 | Zaun | Invite the same users in Zaun Partners |
| 7 | You | Test sign-in |
Step 1: Create the OIDC app in Okta
-
In your Okta admin console, go to Applications → Applications
-
Click Create App Integration
-
Sign-in method: OIDC – OpenID Connect
-
Application type: Web Application (this is important, Cognito requires a confidential client)
-
Click Next
-
Fill in the following:
Field Value App integration name Zaun PartnersGrant type Authorization Code (only) Sign-in redirect URIs https://zaun-partners.auth.us-east-1.amazoncognito.com/oauth2/idpresponseSign-out redirect URIs https://zaun-partners.auth.us-east-1.amazoncognito.com/logoutInitiate login URI (optional) https://partners.zaun.ai/api/auth/sign-in?idp=OktaControlled access Choose how to assign access (recommended: assign by group) -
Click Save
-
On the General tab of the new app, copy and securely store:
- Client ID
- Client secret (click "Show" to reveal)
-
Note your tenant's Issuer URL. For most Okta tenants this is
https://<your-okta-domain>/oauth2/default. For example, if your tenant ishttps://acme.okta.com, the issuer ishttps://acme.okta.com/oauth2/default.
Step 2: Configure the authorization server access policy
The default authorization server needs a policy that allows the Zaun Partners client to request tokens. In most Okta tenants this is already configured, but verify:
- Security → API → Authorization Servers → click
default - Access Policies tab
- There should be a policy named "Default Policy" (or similar) assigned to "All clients" (or explicitly including the Zaun Partners client)
- Open the policy and confirm it has at least one rule with:
- Grant types: Authorization Code (and Refresh Token if you want offline access)
- Scopes:
openid,email,profile - User: Any user
If no such policy exists, create one:
- Click Add Policy → name "Allow Zaun Partners" → assign to "All clients" (or specifically the Zaun Partners client) → Create
- Add a rule with the values listed above
Skipping this step results in a no_matching_policy error during sign-in.
Step 3: Send credentials to Zaun
Email [email protected] with the following information:
Subject: Okta SSO setup for <your company name>
Company name: <your company>
Okta tenant URL: https://<your-okta-domain>
Client ID: <from Step 1.8>
Client secret: <from Step 1.8>
Issuer URL: <from Step 1.9>
Primary contact: <name + email of your Okta admin>Note: send the client secret over a secure channel. Use encrypted email or a password manager share link. Don't post it in chat or a ticket system.
Step 4: Zaun configures the federation
Zaun's team will register your Okta tenant as an OIDC identity provider in the Zaun Partners Cognito user pool. This typically takes one business day. You'll receive a confirmation email once it's live.
Step 5: Assign users in Okta
- In Okta admin, go to Applications → Zaun Partners → Assignments
- Click Assign → Assign to People or Assign to Groups
- Add the users or groups who should have access
These same users must also be invited inside Zaun Partners (Step 6). Being assigned in Okta alone is not enough.
Step 6: Zaun invites users in the portal
Send the list of email addresses to your Zaun account contact. They'll create the corresponding user records in Zaun Partners. The email addresses you assign in Okta (Step 5) must match exactly. Zaun Partners maps users by email.
Step 7: Test sign-in
As one of the assigned users:
- Go to
https://partners.zaun.ai/sign-in - Click Continue with Okta
- You'll be redirected to your Okta tenant
- Authenticate (password, MFA, etc. per your Okta policies)
- You'll be redirected back to Zaun Partners and land on the dashboard
Troubleshooting
When sign-in fails, the redirect URL usually ends with ?sso_error=<reason>. Include that reason when contacting support.
| Error / symptom | Likely cause | Fix |
|---|---|---|
| "Login option is not available" | Cognito side isn't configured for your tenant yet | Confirm Step 4 is complete |
no_matching_policy in Okta logs | Default auth server access policy doesn't include the client | Revisit Step 2 |
sso_error=user_not_provisioned | The signed-in email isn't invited in Zaun Partners | Coordinate with your Zaun admin to invite the user (Step 6) |
sso_error=id_token_invalid | Issuer URL Zaun received doesn't match what Okta returns | Verify the issuer URL sent in Step 3 (typically ends in /oauth2/default, not the admin URL) |
| "Policy evaluation failed" with Okta logo | App-level authentication policy in Okta is denying | Check Applications → Zaun Partners → Sign On policy; ensure assigned users can satisfy the required factors |
| Sign-in succeeds but user lands on wrong page | Email mismatch between Okta and Zaun Partners | Verify the email used to invite the user in Zaun matches the Okta email claim exactly (case-sensitive) |
Security notes
- Zaun Partners session cookies are HTTP-only, secure, and SameSite=Lax. Sessions are signed independently from the Cognito/Okta tokens.
- Cognito verifies the Okta ID token signature against your tenant's JWKS on every sign-in.
- We rotate the client secret on request. Email [email protected] if you need to rotate.
- Disabling a user in Okta prevents future sign-ins. To revoke an existing session, also disable the user inside Zaun Partners.
Contact
- SSO and integration questions: [email protected]
- General product support: [email protected]