Create and configure an OIDC application in Okta
In Okta, create an OIDC application for Endor Labs and get the client credentials that Endor Labs uses to connect.- Sign in to the Okta admin account.
- Go to Applications and Resources > Applications.
- Click Create App Integration and select Classic experience.
- Select OIDC - OpenID Connect as the Sign-in method.
- Select Web Application as the app type and click Next.
-
Enter the following details in General Settings.
- App integration name: Enter Endor Labs.
- Client definition: Select Use Okta-generated client ID.
- Sign-in redirect URIs: Enter
https://api.endorlabs.com/v1/auth/oidc/callback - Sign-out redirect URIs: Enter
https://api.endorlabs.com/v1/auth/oidc/logout
If you’re using a EU tenant:- Sign-in redirect URIs:
https://api.eu.endorlabs.com/v1/auth/oidc/callback - Sign-out redirect URIs:
https://api.eu.endorlabs.com/v1/auth/oidc/logout
- Assignments: Select Limit access to selected groups and choose the groups that need access to Endor Labs. To give access to everyone in your Okta organization, select Allow everyone in your organization to access. To add people or groups later, refer to Assign app integrations.
- Click Save.
- Go to the Sign On tab in the application.
-
In the Token claims section, click Add expression.
A groups claim you created earlier is listed under Show legacy configuration and continues to work. To learn more, refer to Configure custom claims for app integrations.
-
Enter the following details and click Save.
-
Name: Enter a name for the claim, such as
endor_groups. -
Expression: Enter an expression that returns the names of the groups you use for Endor Labs access. The following expression returns the groups whose names start with
endor-.To filter groups another way, refer to Group functions.
-
Name: Enter a name for the claim, such as
- Click Save.
Get the client credentials from Okta
After you create the application and assign users, copy the details that Endor Labs needs to connect to Okta.- Open the General tab in the application.
- In the Client Credentials section, copy the Client ID and Client secret.
- Note your Okta domain, such as
https://endorlabs.okta.com. You use it to build the discovery URL.
Configure Okta OIDC SSO in Endor Labs
Provide the Identity Provider SSO details to configure Okta SSO in Endor Labs and allow users to seamlessly and securely sign in to Endor Labs.- Select User menu > Settings from the left sidebar.
- Select Access Control > Custom Identity Provider.
- Select the TYPE OF IDENTITY PROVIDER as OIDC.
- Enter the IDENTITY PROVIDER NAME as Okta OIDC.
- Under DISCOVERY URL enter your discovery URL. In most cases, this is your Okta domain followed by
/.well-known/openid-configuration. For example,https://endorlabs.okta.com/.well-known/openid-configuration. - Enter your Client ID and Client Secret from Okta.
- Under Advanced Configuration enter the following scopes in the scopes section: email, groups, profile. Press enter after every entry to add each attribute successfully.
- If you are configuring group-based authentication, add the claim name you created in Okta, such as
endor_groups, in the Claim Names section. - Click Save Configuration.
Based on your Okta configuration you may need additional claim names or scopes. Consult your Okta administrator for additional guidance.
Configure your Authorization Policy
Once you’ve configured your custom identity provider in Endor Labs you must configure an authorization policy for your users and groups. To set up an authorization policy:- Select User menu > Settings from the left sidebar.
- Select Access Control > Auth Policy.
- Select Add Auth Policy.
- Enter Okta OIDC as your identity provider.
- Select the permissions you’d like to assign your user or group.
- Under claims update your Key. Use email to assign individual users, or the claim name you created in Okta, such as
endor_groups, to assign users by group. - Assign the value to the key as the email of the user or group you would like to authorize. This value is case-sensitive.
- Repeat as needed for any additional users or groups.