Before you start
You need:- An OpenWork owner, or a member who can manage security configuration.
- An Okta administrator who can create and assign application integrations.
- Control of DNS for the email domain you will associate with the connection.
- The final HTTPS OpenWork web origin, for example
https://openwork.example.com.
For a Helm deployment with separate web and API hosts, use the URLs OpenWork
shows in Settings → SSO. Do not replace their host with the separate API
origin. SAML uses the deployment’s configured auth origin, which is normally
the public web origin when
/api/auth is proxied through the web host.1. Get the organization ID
In OpenWork, select the organization and open Settings → General. Copy the organization ID. OpenWork creates the SAML provider ID as:2. Create the Okta SAML application
In the Okta Admin Console:- Open Applications → Applications.
- Select Create App Integration.
- Choose SAML 2.0, then select Next.
- Set App name to
OpenWorkor another recognizable workspace name. - Select Next.
3. Configure SAML in Okta
Under General, enter:
Open Show Advanced Settings and confirm:
- Response:
Signed - Assertion Signature:
Signed - Signature Algorithm:
RSA-SHA256 - Digest Algorithm:
SHA256 - Assertion Encryption:
Unencrypted
userName.
Select Next, mark the integration as an internal application when
appropriate, then select Finish.
4. Copy Okta values into OpenWork
In the Okta application’s Sign On tab, select View SAML setup instructions. Copy:- Identity Provider Single Sign-On URL
- Identity Provider Issuer
- X.509 Certificate, including the
BEGIN CERTIFICATEandEND CERTIFICATElines
Save the connection. OpenWork then shows setup values including Sign-in URL,
Redirect URL, ACS URL, and Metadata URL. Compare the generated
ACS URL with Okta’s Single sign-on URL character for character. Also
copy the generated OpenWork Sign-in URL into Okta if you want the Okta tile
to launch the same organization-scoped flow.
The saved configuration is still disabled at this point.
5. Verify the email domain
Select Request token under Domain verification. Create a DNS TXT record for the email domain:
For example, provider
openwork-sso-org_123 for example.com produces:
_better-auth-token-<provider-id> in the name field. The token is valid for
seven days. After the TXT record resolves publicly, select Verify domain
in OpenWork and confirm the connection shows Domain verified: Yes.
6. Assign a test user in Okta
In the Okta application:- Open Assignments.
- Select Assign → Assign to People.
- Assign one OpenWork owner or another controlled test user.
- Confirm the application username is that user’s stable work email.
7. Test and enable SSO in OpenWork
After the Okta assignment and domain verification are complete:- In OpenWork Settings → SSO, select Enable Config or Enable SSO.
- In the Test SSO before enabling it dialog, select SSO Login.
- Complete Okta authentication in the separate window.
- Return to OpenWork and confirm Authentication test successful.
- Select Enable SSO.
- OpenWork redirects to the expected Okta tenant.
- Okta authenticates the assigned user.
- Okta posts the assertion to the generated OpenWork ACS URL.
- OpenWork returns the user to the intended organization.
- The member identity in OpenWork uses the same email that Okta sent as NameID.
Just-in-time provisioning and password signup
After Okta SAML SSO is enabled for a verified domain, OpenWork’s standard sign-in flow routes users with that email domain to the organization SSO flow. When a user completes SAML sign-in successfully, OpenWork can create their organization membership just in time with the defaultMember role.
JIT provisioning happens only after successful SAML authentication. Creating an
email/password account with the same email domain does not add the user to the
organization or create a SCIM-managed identity. If that user later completes
SSO, OpenWork can link the matching account and provision the organization
membership through SSO.
OpenWork does not convert SAML attributes such as role, groups, or admin
into elevated organization roles. Assign Admin, Owner, or custom roles in
OpenWork after review, or through an invitation that grants the intended role.