Connect Okta as your IdP - Barndoor Documentation

Overview

This guide walks you through configuring Okta as an OIDC Identity Provider for Barndoor. Once complete, your users will be able to sign in to Barndoor with their Okta credentials, and their group memberships will flow through for automatic role mapping.

Prerequisites:

For the generic, IdP-agnostic version of this flow (Entra ID, Google Workspace, JumpCloud, etc.), see the Connect your IdP overview.


Step 1: Configure IdP Connection in Barndoor

  1. Navigate to Identity Provider Settings

Go here in your Barndoor dashboard and start the Set up single sign-on (SSO) flow.

  1. Complete IdP Setup Form

Auto discover will prefill your Authorization, Token, User Info, JWKS, and Logout URLs. If they are not autodiscovered, enter them manually.

  1. Test the Connection

Click Test Connection to verify that Barndoor can communicate with Okta. ✅ Expected result: “Connection successful” message

  1. Save Configuration

Click Save to activate the IdP connection. Barndoor will reveal the Redirect URI for your Okta app — copy it into your Okta application’s Sign-in redirect URIs.


Step 2: Verify SSO Login Works

  1. Log Out of Barndoor

Sign out of your current Barndoor session.

  1. Attempt Login with Enterprise User

Try logging in with the enterprise test user from Step 1 using a user’s email connected to Okta. You should now be redirected to Okta’s login page.

  1. Authenticate via Okta

Complete authentication through Okta (enter credentials, complete MFA if required).

  1. Verify Access to Barndoor

After successful Okta authentication, you should be logged into Barndoor. ✅ Expected result: User is logged in but has standard user permissions (not admin yet).

SSO is now working! Users can authenticate via Okta.


Step 3: Configure Role Mapping (Auto-Provision Admins)

Now we’ll set up automatic role assignment based on Okta group membership.

Create Admin Group in Okta

  1. Navigate to Groups in Okta

In the Okta Admin Console, go to Directory → Groups.

  1. Create or Select Admin Group

Create a new group called “Barndoor Admins” (or use an existing admin group).

  1. Assign Users to Admin Group

Add the test user to the Barndoor Admins group. 💡 Note: Any user in this group will automatically receive admin permissions in Barndoor.

Send Okta Groups to Barndoor

Barndoor can only map roles and evaluate group-based policies when Okta sends group names during login. For OIDC connections, include a claim named exactly groups in the ID token or UserInfo response.

Role mappings are synced on login. If the mapped group claim is missing or does not match exactly, the corresponding Barndoor role can be removed the next time the user signs in.

  1. Add a groups claim filter in Okta

In Okta, open the Barndoor OIDC application and go to Sign On → OpenID Connect ID Token → Token claims (if needed, expand Show legacy configuration and set Group Claims):

This emits a claim like:

{
  "groups": ["Barndoor Admins"]
}

Use .* as the regex if you want Okta to emit every group the user belongs to. Use a tighter regex (as above) to keep the token small and limit exposure to just the groups Barndoor needs.

  1. Verify the emitted claim

Use Okta’s Token Preview tab (on the application’s Sign On page), the System Log, or a fresh test login to confirm the token or UserInfo response contains groups with the exact group name you will configure in Barndoor.

Map Okta Group to Barndoor Admin Role

  1. Open Map groups to roles

On the Identity Provider page, open the Map groups to roles card for your SSO connection.

  1. Configure Admin Group Mapping

Set the group name that defines administrators:

  1. Save Role Mapping

Click Save Role Settings. ✅ Expected result: “Role mapping saved successfully” message

Verify Role Provisioning

  1. Log Out and Back In

Sign out of Barndoor and log back in with the test user.

  1. Verify Admin Access

After logging in, confirm:

Role mapping is working! Users in the Okta admin group automatically receive admin permissions.


Step 4: Test User Offboarding (Remove Admin Access)

  1. Remove User from Admin Group in Okta

In Okta, go to Directory → Groups → Barndoor Admins. Remove the test user from the Barndoor Admins group.

  1. Log Out and Back In

In Barndoor, sign out and log back in with the test user.

  1. Verify Standard User Access

Confirm that:

Changes to Okta group membership are reflected immediately upon next login to Barndoor.


Roll out SSO enforcement

After your IdP connection is saved and SSO sign-in works, the Roll out SSO enforcement section on the Identity Provider page lets you require SSO for every member of your organization. Until you enforce SSO, users can still sign in with Barndoor passwords in addition to your IdP.

If you don’t see Roll out SSO enforcement controls on the Identity Provider page, organization-wide SSO enforcement may not be enabled for your workspace yet. Contact your Barndoor account team.

Enforcing SSO is irreversible in production. It permanently clears Barndoor passwords for all members, terminates every active session (including yours), and requires all future logins through your IdP—except the dedicated break-glass account described below.

What changes when you enforce SSO

When you confirm enforcement, Barndoor:

After enforcement succeeds, sign out and sign back in through your IdP to continue working as an administrator.

Prerequisites

Both items in Before you can enforce SSO must be complete before Enforce SSO is enabled:

  1. Test SSO sign-in

Click Test SSO sign-in. Barndoor opens a pop-up window and runs the full IdP login path—not just a connection preflight. Complete authentication in the pop-up. When the test succeeds, the row is marked complete. You can run the test again anytime to confirm sign-in still works.

If the pop-up is blocked, allow pop-ups for the Barndoor site and run the test again.

  1. Configure break-glass admin email

Click Manage on the Break-glass admin email row and set an emergency mailbox your security or platform team can use if your IdP is unavailable.

Click Save. Barndoor stores the address as the configured break-glass email. The dedicated break-glass user account is created when you enforce SSO.

Enable organization-wide SSO

  1. Review the rollout card

When both prerequisites are complete, click Enforce SSO at the bottom of the rollout card.

  1. Acknowledge each consequence

In the confirmation dialog, check every acknowledgement:

The dialog also shows your IdP connection name and redirect URI for a final sanity check.

  1. Confirm enforcement

Click Confirm Enforcement. On success, Barndoor shows SSO enforcement is active and prompts you to Sign out and sign in with SSO.

If enforcement succeeds but Barndoor shows a warning that not all member passwords were cleared or sessions could not be terminated, SSO enforcement is still active. Sign out and sign in again with SSO, verify member access, and contact support if the warning persists.

SSO enforcement is active. All organization members must sign in through your Identity Provider. Password login is disabled for everyone except the break-glass account.

Set up the break-glass account

When enforcement completes, Barndoor provisions a dedicated Barndoor Break Glass administrator account at the email you configured and sends a setup email to that mailbox. The recipient must:

  1. Open the setup email and follow the link to set a password
  2. At first sign-in, complete the email one-time passcode (OTP) sent to that mailbox—the same second factor used during an IdP outage

Store break-glass credentials in your organization’s secure emergency-access process (for example, a sealed envelope or privileged-access vault)—not in shared chat or email threads.

Manage break-glass access after enforcement

After SSO is enforced, the rollout card shows SSO enforcement as active and lets you manage the break-glass email:

Changing the break-glass email while SSO is enforced removes the previous break-glass account’s password credentials and requires the new mailbox to complete setup from scratch.

Sign in with break-glass during an IdP outage

If your IdP is unavailable and you need emergency administrator access:

  1. On the Barndoor sign-in page, choose password sign-in (not SSO)
  2. Enter the break-glass email address and password
  3. Complete the email one-time passcode sent to that mailbox

Password sign-in and email OTP at login are available only for the break-glass account once SSO is enforced. All other members must use IdP SSO.

Remove the SSO connection (optional)

To disconnect IdP integration before or after enforcement, open the actions menu (⋯) on the rollout card and choose Remove SSO. Confirm when prompted.

Removing the SSO connection immediately revokes IdP-based access for your organization. Only users who can still authenticate with a Barndoor password—including the break-glass account, if configured—can sign in. SSO enforcement remains on for the organization; re-connecting an IdP does not restore member password login.

SSO enforcement troubleshooting

Test SSO sign-in pop-up blocked or closes early

Common causes:

Solution: Allow pop-ups for your Barndoor portal origin, then click Test SSO sign-in again. If the test times out, cancel and retry.

Break-glass email rejected on Save

Common causes:

Solution: Use a dedicated emergency mailbox on your IdP domain that is not yet a Barndoor user. Enter only the part before @—the domain is shown in the dialog.

Break-glass setup email not received

Solution: From the break-glass Manage dialog after enforcement, click Resend invite. Check spam filters and confirm the mailbox is monitored. The recipient must complete password setup from the link before the account can sign in.

Enforcement succeeded with a warning

Cause: SSO enforcement is active, but Barndoor could not clear every member password or terminate every session.

Solution: Sign out and sign back in with SSO. Verify affected members can still reach the app through your IdP. Contact Barndoor support if the warning remains or members report unexpected password login.


Summary

You’ve successfully configured Okta integration with Barndoor! Here’s what you accomplished: ✅ Connected Okta for SSO/OIDC authentication ✅ Enabled automatic role provisioning based on Okta groups ✅ Tested user onboarding (SSO login and admin access) ✅ Tested user offboarding (removed admin access via Okta) ✅ (Optional) Enforced organization-wide SSO with a break-glass emergency account

Key Benefits

Centralized authentication: Users log in via Okta
Automated role management: No manual user provisioning needed
Streamlined onboarding: New employees automatically get access
Instant offboarding: Removing users from Okta immediately revokes access


Troubleshooting

SSO Login Redirects but Fails

Common causes:

Solution: Double-check credentials in both Barndoor and Okta. Confirm the Sign-in redirect URI in Okta exactly matches the Redirect URI Barndoor generated. Re-test the connection and review the Okta System Log.

Role Mapping Not Working

Common causes:

Solution: Verify the exact group name in Okta matches the Barndoor configuration. Confirm user membership in the Okta group. Use Okta’s Token Preview to confirm the token includes groups with the expected value, such as Barndoor Admins. Re-save role mapping settings and have the user sign out and back in.

Users Can't Access After Okta Connection

Common causes:

Solution: Verify users are assigned to the Barndoor application in Okta ( Applications → Barndoor app → Assignments). Check the Okta app status. Test the connection from Barndoor settings.


Recap

Value Where it comes from Where it goes
Client ID Okta app → General → Client Credentials Barndoor Client ID
Client Secret Okta app → General → Client Credentials Barndoor Client Secret
Issuer URL (https://<your-org>.okta.com) Okta org URL Barndoor Issuer URL
Redirect URI Barndoor SSO setup Okta app → General → Sign-in redirect URIs
groups claim filter Okta app → Sign On → OpenID Connect ID Token Emitted in token for Barndoor role mapping

You’ve now connected Okta to Barndoor for SSO and automatic role provisioning.