Okta configuration
To use Okta as your Fabricate single sign-on (SSO) provider, you first complete the following configuration in Okta.
Create the app integration
In the Okta Admin Console:
Go to Applications -> Applications.
Click Create App Integration.
Choose OIDC - OpenID Connect.
Choose Web Application.
Click Next.
Configure the app integration as follows:
App integration name:
Fabricate SSOGrant type:
Authorization CodeSign-out redirect URIs:
https://fabricate.tonic.ai/
Assignments: Assign the users or groups that should be able to sign in to Fabricate.
Fabricate uses the server-side authorization code flow. Do not configure the app as a SPA or a native application.
Copy Okta values to use in Fabricate
Issuer URL
The Fabricate SSO configuration includes the Okta OIDC issuer URL.
When you create the URL, use the issuer that matches where you configure the groups claim. If the app uses the organization authorization server, but the group claim is configured on a custom authorization server, Fabricate does not receive the claim.
Okta organization authorization server
For the Okta org authorization server, use:
For example:
Custom authorization server
For an Okta custom authorization server, use:
For example, for Okta's default custom authorization server:
Client ID
The Client ID value for the Fabricate SSO configuration is the Okta app integration's Client ID.
To obtain the value:
Open the app integration.
On the General tab, find Client Credentials.
Copy Client ID.
Client secret
The Client Secret value for the Fabricate SSO configuration is the Okta app integration's Client secret.
To obtain the value:
Open the app integration.
On the General tab, find Client Credentials.
Copy Client secret.
Required token claims
Fabricate expects standard OIDC email verification from Okta:
emailemail_verified
The email and email_verified claims are normally available when Fabricate requests the email scope.
Fabricate requests the following:
Note that Fabricate does not request the Okta groups scope. If a customer's Okta group claim only appears when the groups scope is requested, then unless Fabricate is updated to request that scope for that account, Fabricate does not receive it.
Add group names for Fabricate group synchronization
Fabricate can optionally synchronize a user's Fabricate account group memberships with group names that Okta sends when the user signs in. The user is then automatically added to the matching Fabricate account group.
Fabricate matches the values in the groups claim to Fabricate group names. The group name match is case-insensitive.
If a group does not already exist in Fabricate, and matches the group filter, then when Sync groups from SSO is enabled, Fabricate creates it automatically.
In Okta, you configure a claim that is named:
The claim value must be an array of group names. For example:
Fabricate reads groups from both the ID token and the UserInfo response.
To identify the groups to include in the claim, you can use either:
Okta organization authorization server
Custom authorization server
Okta organization authorization server
In the Okta Admin Console:
Go to Applications -> Applications.
Open the Fabricate OIDC app integration.
Go to the Sign On tab.
Find the OpenID Connect ID Token section.
Click Edit.
For Okta-sourced groups:
In Group claim type, select Filter.
In Group claims filter:
Claim name:
groupsFilter:
Matches regexValue: a restrictive regular expression for the groups that Fabricate should see. For example,
^Fabricate.*
For groups sourced outside of Okta, such as groups from AD or LDAP:
In Group claim type, select Expression.
In Group claims filter:
Claim Name:
groupsValue: an Okta Expression Language group expression to return the group names.
Click Save.
Custom authorization server
Use this option if you already use a custom Okta authorization server, or when you need more control over claim inclusion.
In the Okta Admin Console:
Go to Security -> API.
Open the authorization server that is used as Fabricate's issuer.
Go to the Claims tab.
Click Add Claim.
Configure:
Name:
groupsInclude in token type: ID Token
When to include: Always
Value type: Groups
Filter: Matches regex
Value: A restrictive regular expression to identify the groups that Fabricate should see. For example,
^Fabricate.*
Save the claim.
Using ID Token + Always is important because Fabricate does not request Okta's groups scope. If the claim is configured only to appear when requested by scope, Fabricate might not receive it.
To instead have the claim in UserInfo, make sure the claim:
Is available from the access token/UserInfo path. To do this, configure the claim to set Include in token type to Access Token/User Info.
Does not require a scope that Fabricate does not request.
Last updated
Was this helpful?