website/src/app/kb/authenticate/okta/readme.mdx
import Alert from "@/components/DocsAlert"; import PlanBadge from "@/components/PlanBadge"; import SupportOptions from "@/components/SupportOptions"; import Image from "next/image"; import Link from "next/link";
<PlanBadge plans={["starter", "team", "enterprise"]}>
Firezone supports authenticating users with Okta using OpenID Connect (OIDC). You can configure multiple Okta providers within a single Firezone account, each with a different client ID.
<Alert color="info"> Looking for directory sync? See the [Okta directory sync guide](/kb/directory-sync/okta) to automatically provision users and groups from Okta. </Alert>Before enabling Okta authentication in Firezone, you'll need to create an OIDC application in your Okta admin portal.
Settings -> Authentication.Firezonehttps://app.firezone.devIn the Firezone setup form:
Next, copy your Okta domain from the upper right corner of your Okta dashboard (click on your username to see it) and paste it into the Okta Domain field in the Firezone setup form.
<Link href="/images/kb/authenticate/okta/okta-auth-okta-domain.png" target="_blank" > <Image src="/images/kb/authenticate/okta/okta-auth-okta-domain.png" alt="Okta domain" width={1200} height={1200} /> </Link>In the Okta application settings, copy the Client ID and Client Secret and paste them into the corresponding fields in the Firezone setup form.
<Link href="/images/kb/authenticate/okta/okta-auth-new-app-integration-client-creds.png" target="_blank" > <Image src="/images/kb/authenticate/okta/okta-auth-new-app-integration-client-creds.png" alt="Okta app client credentials" width={1200} height={1200} /> </Link>Click Verify Now to complete an authentication flow and confirm the provider is working. If successful, you'll see a confirmation page. Close that tab and click Save in the Firezone setup form.
Users will now see this provider as an option on the Firezone sign-in page.
Firezone connects to Okta using standard OIDC. When a user signs in:
iss and sub claims from Okta. For
users provisioned via directory sync, this
identity already exists. For manually created users, Firezone matches by
email on first sign-in and saves the Okta identity for subsequent sign-ins.Firezone requests the following scopes from Okta:
openid — Required for authentication.email — Used to match users on first sign-in.profile — Used for the user's display name.Firezone does not access any other Okta data.
You can configure multiple Okta providers within a single Firezone account, each with a different client ID. This is useful if you need to authenticate users from different Okta organizations or with different app configurations.
To add another provider:
Settings -> Authentication in your admin portal.Only users and groups assigned to the Firezone application in Okta can sign in. To manage access:
Users must exist in Firezone before they can sign in with Okta. You can:
If a user sees a "user not found" or similar error when signing in, it means no matching user exists in Firezone. The user must be created manually or provisioned via directory sync before they can sign in.
If a user sees an error indicating they're not assigned to the application, the Okta admin needs to assign the user (or a group containing the user) to the Firezone application in Okta.
If verification fails with a client credentials error, double-check that the Okta Domain, Client ID, and Client Secret are entered correctly in Firezone.
To revoke a user's access, remove their assignment from the Firezone application in Okta. This prevents future sign-ins but does not end active Firezone sessions. To immediately revoke access, also delete or disable the user in Firezone.
<SupportOptions />