SSO with Okta OIDC
To begin configuring SSO with Okta OIDC, first ensure you have an Okta SPA and custom authorization server set up. This guide will show you a functioning setup that you may customize for your organization.
Okta SPA
Setup
Create a new Okta app integration

Select OIDC - OpenID Connect type

Select a Single Page Application which is also known as a SPA.

Give the SPA a name and a grant types of Authorization Code and Refresh Token

Use the designated hostname for the self-hosted Credo AI application for Sign-In redirect URIs and the hostname + /logged-out.html for the Sign-Out redirect URIs

Set the user access according to your organization policy.
Exports
After you create the SPA, retrieve the client id for later app config

Okta Custom Authorization Server
The Credo AI application requires an authorization server to verify access tokens. We recommend creating a new one dedicated to the CredoAI application.
New Custom Auth Server Setup
Add a new authorization server.

Fill in a name and audience. In this example we are using credoai and https://api.credo.ai.

Configure Trusted Origins.

Use the designated hostname of the self-hosted Credo AI application for Origin URL.

Add the credoai.roles scope

Add the following claims

This shows the sub access claim in more detail with a value of user.getInternalProperty("id")

This shows the https://api.credo.ai/roles access claim in more detail with a value starting with credoai-

This shows the https://api.credo.ai/roles id claim in more detail with a value starting with credoai-

This shows the https://api.credo.ai/tenant access claim in more detail with a value of credoai

This shows the https://api.credo.ai/roles id claim in more detail with a value of credoai

Add access policies to the auth server according to your organizational policies.
Exports
Retrieve the audience and issuer uri for later app config

Credo AI Configuration
Once you have the client id from the SPA and the audience and issuer uri from the authorization server, you can configure the Credo AI application SSO.

Client ID
Enter the client id

ID Token and Access Token Audiences
Enter the audience in both ID token and access token audiences

Issuer and Authority
Enter the issuer url for the issuer and authority fields

JWKS URL
Use the issuer url in the format <issuer url>/v1/keys for the jwks url

UserInfo URL
Use the issuer url in the format <issuer url>/v1/userinfo for the userinfo url
