Guide
1
Create Okta Application
Navigate to the Okta Admin Console → Applications → Create App Integration.

2
Configure Okta Application
Select SAML 2.0.Name your application Add an Audience URI (SP Entity ID). Any stable identifier works,
as long as it matches the SP entity ID you enter in Onyx:Add an Attribute Statement where Name is 
Onyx and upload the Onyx logo.Add a Single sign-on URL (the ACS URL, shared by every SAML provider on the instance):email and Value is user.email.
3
Assign Users to Application
Create the application and navigate to the Assignments tab to assign users.
4
Collect the IdP Values
Onyx needs three values from Okta:
IdP Entity ID
IdP Entity ID
Go to the Sign On tab of your application in Okta, copy the Metadata URL,
and paste it into your browser. You should see XML like:Copy the
entityID value.IdP x509 Certificate
IdP x509 Certificate
In the XML from the previous step, find the Copy the certificate value.
ds:X509Certificate element.IdP SSO URL
IdP SSO URL
Go to the General tab of your application in Okta and copy the Embed Link.
5
Add the Provider in Onyx
Navigate to Admin Panel → Organization → SSO Providers
and click Add Provider.Select the SAML provider type, give the provider a Name (a lowercase slug, e.g.
After creating the provider, its row shows the exact ACS URL.
Confirm it matches the single sign-on URL you registered in Okta,
then sign in through the new option on the login page.
okta),
and paste the IdP entity ID, IdP SSO URL, IdP x509 certificate,
and the SP entity ID from the Okta application.Optional: SP certificate and private key
Optional: SP certificate and private key
If your IdP requires signed requests,
generate a self-signed certificate and enter both values in the provider form:
Upgrading from v4.3 or Earlier
Versions beforev4.4.0 configured a single SAML provider through a settings.json file placed in the SAML config
directory (SAML_CONF_DIR, default /app/onyx/configs/saml_config), with AUTH_TYPE=saml set.
That flow uses the same ACS URL as above. On v4.4.0 and later this configuration no longer enables SAML login,
and AUTH_TYPE is planned for full removal in v4.5. New installs must use the admin panel flow above.
When you upgrade an existing deployment,
its
settings.json is imported as an SSO provider entry automatically when the upgraded api server starts,
and existing logins keep working.
Keep the settings file mounted and AUTH_TYPE=saml set through the upgrade (the import reads both).
The migrated provider keeps using the ACS URL already registered with your IdP, so nothing changes on the IdP side.
Remove both after the provider appears in the admin panel.