Okta SSO
Manage users with Okta OIDC SSO + SCIM provisioning.
Suger supports Okta as an identity provider, allowing you to manage users and their access to Suger through Okta.
You can either integrate Suger via Okta Integration Network(OIN), or create custom app integrations.
(Option 1: Recommended) Suger App in Okta Integration Network(OIN)
Suger is available on the Okta Integration Network. It supports both OIDC Single Sign-On (SSO) and user provisioning with SCIM (System for Cross-domain Identity Management).
-
Add Suger to your Okta account using either of these methods:
-
Visit the Suger OIN App page directly.
-
Navigate through your Okta Admin Console by going to Applications → Applications → Browse App Catalog, then search for "Suger".
-
-
Set the following parameters as placeholders that will be updated later. Click Done when finished.
-
Suger Organization ID:
SugerOrg
. (This will be updated later) -
SCIM endpoint URL:
https://www.suger.io/
. (This will be updated later) -
Application Visibility: Keep the default settings (both unchecked)
-
OIDC configuration
Supported Features
- Service Provider (SP)-Initiated Authentication: Triggered when a user logs in from Suger and uses Okta as the identity provider..
- Identity Provider (IdP)-Initiated Authentication: Triggered when a user logs in from Okta and is automatically signed into Suger.
Steps
-
In the Okta app, navigate to Sign On - Settings, copy the
Client ID
andClient Secret
and send them to Suger Support. -
Copy your
Okta Domain
and send to Suger Support. It looks likedev-12345678.okta.com
. -
Wait for Suger Support to configure the OIDC connection using the provided details. The following configurations will be set up:
- Suger OIDC Configuration (Operation by Suger Support)
- Suger SCIM Configuration (Operation by Suger Support)
-
After completing the setup, Suger Support will provide you with the following details:
- Suger Organization ID
- SCIM endpoint URL
- SCIM API Token
-
In the Okta app, navigate to General - App Settings, and update the following parameters with the first two details from the previous step:
The overall data exchange between Okta administrator and Suger Support looks like:
SP-initiated SSO
- Open your browser and navigate to:
https://console.suger.io/login?orgId={your_suger_org_id}
. After your first successful login, a shortcut will appear on the main login page (https://console.suger.io/login) where you can simply click "SSO to (your organization name)" to access your account.
- Click "Continue with Okta" to authenticate with your Okta credentials. (Note: If your organization has configured Okta as the default SSO connection, this step will be automatically skipped.)
- Complete the authentication process:
- If you're not currently logged into Okta, you'll be prompted to enter your Okta username and password.
- If you're already logged into Okta, you'll be automatically redirected to the Suger Console dashboard.
Note
-
Once the integration is set up, Okta becomes the sole source of user management, replacing manual management in the Suger console.
-
To ensure seamless user provisioning and management, make sure you have also configured SCIM.
SCIM configuration
Supported Features
- Create users
- Update user attributes
- Deactivate users
Steps
-
Open the app and navigate to Provisioning, click "Configure API Integration".
-
Check the Enable API Integration box.
-
Enter the API Token provided by Suger Support, then click Test API Credentials to verify the connection. If the verification is successful, click Save:
-
In Provisioning to App section, check the options below:
-
Set up Suger Role mapping following Manage Suger Role with SCIM.
Troubleshooting
-
"Conflict" or "Matching user not found" error
- If you encounter this error when assigning users to the SCIM app, navigate to Dashboard > Tasks to check the error details and retry the task.
-
User provisioning
- After a user is provisioned, they will gain access to the Suger console immediately.
- The user will not be visible in the Suger console until they complete their first login via OIDC authentication.
-
SCIM provisioning for
sugerRole
updates- To apply
sugerRole
updates, log out and then log back into the Suger console. - Updates to
sugerRole
may take a few minutes to reflect due to caching. Please wait a while and try again.
- To apply
-
Synced user attributes
- Only
email
andsugerRole
are synchronized. - Changes to the family name and given name will NOT be reflected in the Suger console.
- Only
-
User deprovisioning
- After a user is un-provisioned, they will lose access to the Suger console upon their next login attempt. However, they can continue accessing the Suger console until their current session expires.
- The user will still be visible in the Suger console, and removal may take up to 24 hours.
If you have any further questions or difficulties with your integration, please contact Suger support at support@suger.io.
(Option 2) Create custom app integrations
You can also create custom app integrations for Suger in Okta, which provides more flexibility and control over the configuration.
This section describes how to create two separate Okta apps for OpenID Connect(OIDC) and SCIM provisioning.
Create an OpenID Connect(OIDC) App Integration
Setting up Okta as a Single Sign-On (SSO) provider for Suger requires configuration on both Okta and Suger sides.
Okta OIDC Configuration
Follow these steps to create an OpenID Connect (OIDC) app integration in Okta:
-
Open the Okta Admin Console, go to Applications -> Applications. Click Create App Integration.
-
Select OIDC as the Sign-in method, and Web application as the Application type:
-
Configure the following parameters, then click Save.:
-
App integration name:
Suger
-
Sign-in redirect URIs:
https://dev-uwmvi0yu.us.auth0.com/login/callback
. -
Sign-out redirect URIs:
https://console.suger.io/login
. -
Trusted Origins:
https://console.suger.io
-
-
Open the app settings and navigate to General - General Settings - Edit, then configure the following:
-
Login initiated by: Either Okta or App
-
Application visibility: Display application icon to users
-
Login flow: Redirect to app to initiate login (OIDC Compliant)
-
Initiate login URI:
https://console.suger.io/login?orgId={your_suger_org_id}
. Ask Suger Support to get theyour_suger_org_id
. -
Controlled access: Skip group assignment for now
-
-
Retrieve the
Client ID
andClient Secret
from Okta and send them to Suger Support. -
(Optional) Set an app logo by saving this image:
Suger OIDC Configuration
Create an OIDC Connection
-
Follow the Okta Workforce Connection setup guide to create an Okta connection with the following parameters:
-
Connection Name: A unique name for the connection. It can't be changed after creation.
-
Okta Domain: e.g.,
dev-12345678.okta.com
. -
Client ID: From Okta app.
-
Client Secret: From Okta app.
-
-
Navigate to Login Experience tab, check "Display connection as a button" and set the Button display name as
Okta
: -
Navigate to Applications tab and enable the connection for the user's application.
Update the SSO configuration for the user's organization
In the Suger console, go to "Settings", click "Edit" under the "Organization" section, enter the following details, and click "Save".
Create an SCIM App Integration
SCIM (System for Cross-domain Identity Management) enables secure user data synchronization between Okta and Suger.
Setting up SCIM integration requires configuration on both Suger and Okta sides.
Suger SCIM Configuration
-
Open the Auth0 Dashboard and navigate to: Authentication > Enterprise > Okta Workforce > [your-connection] > Provisioning.
-
Configure the following settings:
- Disable: "Sync user profile attributes at each login".
- Enable: "Sync user profiles using SCIM.
-
In the Mapping tab, add this mapping:
{
"scim": "roles[type eq \"SUGER_ROLE\"].value",
"auth0": "app_metadata.suger_role"
}, -
In the Setup tab, Generate a Bearer Token using the default settings:
-
Send the
SCIM endpoint URL
andBearer token
to the Okta administrator.
Okta SCIM Configuration
-
Obtain the
SCIM endpoint URL
andBearer token
from Suger Support. -
Follow this Okta SCIM setup guide to create a SCIM app:
Manage Suger Role with SCIM
-
Create a custom attribute for SCIM app user:
- Data type:
string
- Display name:
Suger Role
- Variable name:
sugerRole
- External name:
roles.^[type=='SUGER_ROLE'].value
- External namespace:
urn:ietf:params:scim:schemas:core:2.0:User
- Enum: Define enumerated list of values
- Attribute members:
ADMIN
:ADMIN
EDITOR
:EDITOR
VIEWER
:VIEWER
- Attribute required: Yes
- Attribute type: Group
After creation, it looks like:
- Data type:
-
Create Okta Groups for each Suger Role and assign them to the SCIM app.
Example: Create
Suger Role Admin
group:Assign the group to the SCIM app with
Suger Role
configured:Repeat for
Editor
andViewer
roles: -
Open the SCIM app, map the
Suger Role
attribute in the Provisioning tab::Click "edit" icon, and set the mapping as follows:
After mapping:
Manage Users Access
Assign the users or Suger role groups to Suger App. If you're using separated custom apps, assign the Suger role groups to both the Okta SSO app and the SCIM app.
- To grant a user access to Suger, assign the user to a Suger role group.
- To revoke access, remove the user assignments from a Suger role group.
Note:
- If you encounter a "Conflict" or "Matching user not found" error when assigning users to the SCIM app, please contact Suger Support to remove the existing Okta connection users in Auth0.