> ## Documentation Index
> Fetch the complete documentation index at: https://zenskar.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# SAML authentication with Okta

Zenskar supports single sign-on (SSO) through SAML 2.0, letting an organization authenticate users through its existing identity provider. This guide sets up SAML in Zenskar using **Okta** as the identity provider.

<CardGroup cols={2}>
  <Card title="New to SSO?" icon="circle-info" href="/docs/20260301/security/saml-authentication/concepts">
    If terms like identity provider (IdP) and service provider (SP) are unfamiliar, start with the Concepts page.
  </Card>

  <Card title="Reference" icon="book" href="/docs/20260301/security/saml-authentication/reference">
    Field-level detail, validation rules, and the assertion Zenskar expects. Keep it open while you work through the steps.
  </Card>
</CardGroup>

<Note>
  This guide is for administrators. You need admin access to both Okta and Zenskar: an Okta account that can create app integrations, and a Zenskar role with SAML permissions. If your organization does not use Okta yet, set it up and add your users there first. Adding the Zenskar application does not change your existing Okta setup, and your users keep the credentials they already use.
</Note>

<Warning>
  Sign-in must start from the Zenskar sign-in page. Okta's dashboard tile for the app does not complete sign-in; Step 5 replaces it with one that does.
</Warning>

Zenskar does not control Okta's admin console, and Okta may rename or move fields at any time. Each Okta label in this guide is paired with the SAML 2.0 concept it maps to, which does not change, so a rename does not break the mapping. The labels were accurate on 2 September 2026; if one no longer matches what you see, match on the concept and use [Okta's current guide to creating a SAML app integration](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_saml.htm) to find the field.

***

## Step 1: Verify your domain

1. Click the account menu at the bottom of the sidebar, and select **Settings**.
2. Open the **SAML** tab.
3. In the **Connection** section, enter a **Name** for this configuration and the **Domain** to verify, for example `acme.com`. Enter the bare domain, with no `https://` prefix and no path.
4. Click **GET TXT RECORDS**.
5. Add the resulting TXT record to the domain's DNS.
6. Click **VERIFY DOMAIN** once the record has propagated. The domain's status changes from Pending to Verified.
7. Under **Identity Provider**, select **Okta** from the dropdown.

<Note>
  If **VERIFY DOMAIN** reports a failure, the TXT record may not have propagated yet. DNS changes can take from a few minutes to 48 hours; wait and try again.
</Note>

## Step 2: Set up the application in Okta

Create a SAML 2.0 app integration for Zenskar, and assign the people and groups who should be able to sign in to Zenskar. A user who is not assigned cannot sign in.

#### Service provider values

From the **Zenskar SAML Configuration Values** section on the SAML tab, enter these in Okta:

| SAML 2.0 concept                        | Okta field                  | Zenskar field |
| --------------------------------------- | --------------------------- | ------------- |
| SP entity ID / audience                 | Audience URI (SP Entity ID) | Entity ID     |
| SP Assertion Consumer Service (ACS) URL | Single sign-on URL          | ACS URL       |

The ACS URL appears once Okta is selected on the SAML tab in Step 1. Copy it and the Entity ID exactly as shown.

#### NameID

| SAML 2.0 concept | Okta field           | Value          |
| ---------------- | -------------------- | -------------- |
| NameID format    | Name ID format       | `EmailAddress` |
| NameID value     | Application username | `Email`        |

#### Attribute statements

| SAML 2.0 concept     | Okta attribute name | Okta value       | Zenskar field (Step 3)    |
| -------------------- | ------------------- | ---------------- | ------------------------- |
| Email attribute      | `email`             | `user.email`     | User ID and Email address |
| Given name attribute | `firstName`         | `user.firstName` | First name                |
| Surname attribute    | `lastName`          | `user.lastName`  | Last name                 |

Attribute names are case-sensitive and must contain no spaces. If the first or last name attribute is missing, Zenskar asks the user to enter their name on first sign-in.

Leave anything else at its default, and finish creating the app.

## Step 3: Finish in Zenskar

In Okta, open the app's **Sign On** tab and select **View SAML setup instructions**. On Zenskar's **SAML** tab, in the **Identity Provider Configuration** section, enter these values:

| SAML 2.0 concept                | Okta field                           | In Okta's IdP metadata  | Zenskar field                        |
| ------------------------------- | ------------------------------------ | ----------------------- | ------------------------------------ |
| IdP entity ID / issuer          | Identity Provider Issuer             | `entityID` attribute    | Identity Provider Issuer             |
| IdP single sign-on endpoint     | Identity Provider Single Sign-On URL | `<SingleSignOnService>` | Identity Provider Single Sign-On URL |
| IdP signing certificate (X.509) | X.509 Certificate                    | `<ds:X509Certificate>`  | Certificate                          |

<Note>
  Zenskar needs the certificate as a PEM block with its `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----` lines. The `<ds:X509Certificate>` value in the metadata XML has no such lines and will fail the check: download the certificate file instead, or wrap the Base64 in those lines before pasting.
</Note>

Then set the four **Attribute Mapping** fields to the attribute names from Step 2.

Turn on **SAML Status** and click **Save Configuration**. Zenskar checks the form first: with SAML Status on, the Name, Domain, both Identity Provider Configuration values, the Certificate, and all four attribute mappings are required, and the single sign-on URL must use `https`. See [Field validation](/docs/20260301/security/saml-authentication/reference#field-validation) for the certificate format and the other checks.

**Good to know**

* A user who already has a Zenskar password confirms it once, on their first SSO sign-in, to link their account. Every sign-in after that goes through Okta.
* Once the domain is verified and SAML Status is on, invited users no longer receive a password-setup email; their account is created on first SSO sign-in.
* To change an Identity Provider Configuration value later, edit the field with **SAML Status** on and click **Save Configuration** again. A save made while SAML Status is off is stored but does not update the live connection.

## Step 4: Test

1. Test in a private or incognito window: go to the Zenskar sign-in page, enter the work email address of an assigned user, and continue. The sign-in should route to Okta and return to the Zenskar dashboard.
2. Test with a second assigned user before announcing it to the team. This confirms the group assignment works, not just one account.

## Step 5: Give your team a working tile

Sign-in must start from the Zenskar side, so replace Okta's default tile:

1. In Okta, stop the app from showing its default dashboard tile.
2. Create an Okta [Bookmark App](https://help.okta.com/en-us/content/topics/apps/apps_bookmark_app.htm) that points at your Zenskar sign-in page, and assign it to the same people and groups.

Users then get a Zenskar tile that opens the sign-in page, where SSO completes normally. If you would rather not add a Bookmark App, ask your team to bookmark the Zenskar sign-in page in their browser instead.

## Troubleshooting and upkeep

<CardGroup cols={2}>
  <Card title="Troubleshooting" icon="circle-question" href="/docs/20260301/security/saml-authentication/reference#troubleshooting">
    Common sign-in failures and what each one means.
  </Card>

  <Card title="Keeping SAML running" icon="arrows-rotate" href="/docs/20260301/security/saml-authentication/reference#keeping-saml-running">
    Certificate rotation, adding and removing access, and passwords.
  </Card>
</CardGroup>

Reach out to [help@zenskar.com](mailto:help@zenskar.com) with questions while going through setup.
