Authenticate worker single sign-on (SSO) from Okta using OpenID Connect
- Introduction
- Configure Okta as an OpenID Connect identity provider
- Configure Cerb for authentication with Okta
Introduction
This guide demonstrates how to enable one-click single sign-on (SSO) for Cerb workers by authenticating against existing Okta accounts using the OpenID Connect (OIDC) standard.
The email address for each account in Okta will need to be associated with a worker record in Cerb. You can also disable password-based logins for those accounts.
Configure Okta as an OpenID Connect identity provider
Configure your identity provider
-
Log in to Okta as an administrator.
-
Click the Admin button in the top menu.
-
Expand the Applications menu in the left sidebar.
-
Click Applications.
-
Click the blue Create App Integration button at the top.
-
Select OIDC - OpenID Connect.
-
Select Web Application.
-
Click the blue Next button in the bottom right.
-
Enter the following details:
Application name Cerb Application logo https://cerb.ai/assets/images/home/cerby.png Grant type Authorization Code Sign-in redirect URIs https://<YOUR-CERB-URL>/sso/okta-oidc
Sign-out redirect URIs (blank) -
Click the blue Save button.
-
In the application settings screen, scroll down and copy the Client ID and Client Secret.
-
Make a note of your Issuer URL. You’ll need it below. This is typically your Okta subdomain (e.g.
https://example.okta.com
). -
Assign the application to groups or users.
Configure Cerb for authentication with Okta
Log in to Cerb as an administrator.
Create an OpenID service for Okta
-
Navigate to Setup » Packages » Import.
-
Paste the following package:
{ "package": { "name": "Okta OpenID Connect Provider", "revision": 1, "requires": { "cerb_version": "9.5.0", "plugins": [] }, "configure": { "placeholders": [], "prompts": [ { "type": "text", "label": "Client ID", "key": "prompt_client_id", "params": { "default": "", "placeholder": "(paste your Client ID)" } }, { "type": "text", "label": "Client Secret", "key": "prompt_client_secret", "params": { "default": "", "placeholder": "(paste your Client Secret)" } }, { "type": "text", "label": "Issuer URL", "key": "prompt_issuer_url", "params": { "default": "", "placeholder": "(paste your Issuer URL from Okta)" } } ] } }, "records": [ { "uid": "service_okta", "_context": "connected_service", "name": "Okta", "uri": "okta-oidc", "extension_id": "cerb.service.provider.oidc", "params": { "client_id": "{{{prompt_client_id}}}", "client_secret": "{{{prompt_client_secret}}}", "scope": "openid email", "issuer": "{{{prompt_issuer_url}}}", "authorization_url": "{{{prompt_issuer_url}}}/oauth2/v1/authorize", "access_token_url": "{{{prompt_issuer_url}}}/oauth2/v1/token", "userinfo_url": "{{{prompt_issuer_url}}}/oauth2/v1/userinfo", "jwks_url": "{{{prompt_issuer_url}}}/oauth2/v1/keys" } } ] }
-
Click the Import button.
-
Enter your client ID, client secret, and issuer URL from Okta.
-
Click the Import button again.
Configure SSO
-
Navigate to Setup » Security » Authentication.
-
Check Okta.
-
Click the Save Changes button.
Log in
-
Visit the login form in Cerb.
-
Click the Okta button.
-
Log in using your Okta ID.
-
Accept consent.
-
You should be logged into Cerb as the worker associated with your Okta email address.