Setup Okta SSO
This integration enables authentication via OpenID Connect (OIDC) and automated user provisioning through System for Cross-domain Identity Management (SCIM).
Required role to configure: Admin or higher.
Users with lower roles can view this feature but cannot change its configuration.
Overview
Seemore integrates with Okta using:
OIDC (OpenID Connect) — user authentication
SCIM (System for Cross-domain Identity Management) — automated user and role provisioning
This setup allows Okta administrators to:
Manage Seemore users directly in Okta
Assign and sync roles (owner, admin, editor, viewer)
Map Okta groups to Seemore roles and sync them automatically
Automatically create or deactivate users
Prerequisites
Before you start:
Ensure you have Admin rights in both Okta and Seemore.
Obtain from Seemore:
SCIM base URL
Bearer token (from Integrations → SCIM Tokens)
Ensure each Okta user has a unique External ID for matching.
Enable SCIM provisioning in your Seemore tenant.
Seemore now supports Okta group synchronization. Push your Okta groups to Seemore and assign one or more Seemore roles to each group — members receive those roles automatically on their next login. See Step 6 and Step 7 below.
Setup Steps
Step 1 — Create the Seemore App in Okta
In the Okta Admin Console, go to
Applications → Applications → Create App Integration.Select:
Sign-in method: OIDC – OpenID Connect
Application type: Web Application
Configure:
App name:
SeemoreLogin redirect URI:
Assign test users or groups to the app.
Step 2 — Configure OIDC in Seemore
In Seemore, open
Settings → Preferences → Authentication → Okta.
Enter:
Okta domain (from Okta)
Client ID / Secret (from the Okta app)

Save and test. You should be redirected to Okta for sign-in and back to Seemore upon success.
Step 3 — Enable SCIM Provisioning in Seemore
Check the box to Enable SCIM Provisioning and save.

Click
Create Token, thenSavethe generated token. You won’t be able to view it again later.


Step 4 — Enable SCIM Provisioning in Okta
Confirm that an OpenID Connect application has already been registered in the Okta Workforce tenant for OIDC-based authentication.
Confirm that your OpenID Connect application has disabled Federation Broker Mode.
Register a second application in Okta:
Go to
Applications → Applications → Create App IntegrationChoose Secure Web Authentication, then
Next
On the General App Settings page:
Set a name and a URL
Select
Do not display application icon to usersThe URL entered is not used in the SCIM integration
Select
Finish.Navigate to the General tab →
Edit→ Provisioning section.Choose
SCIM, thenSave.Navigate to
Provisioning → Integration → Edit, and configure the following:SCIM connector base URL: SCIM Endpoint URL copied earlier
Unique identifier field for users:
userNameUnder Supported provisioning actions, enable:
Push New Users
Push Profile Updates
Authentication Mode: HTTP Header
Paste the token value into the
Authorizationfield(Optional) Test the connection, then choose
Save.
Go to
Provisioning → Settings → To App → Edit, then:Enable
Create Users,Update User Attributes, andDeactivate UsersChoose
Save.
Under Attribute Mappings, se the X button to delete the following lines, which are not needed and may cause issues during PUT operations:
AttributeValuePrimary email type
(user.email != null && user.email != '') ? 'work' : ‘'Primary phone type
(user.primaryPhone != null && user.primaryPhone != '') ? 'work' : ‘'Address type
(user.streetAddress != null && user.streetAddress != '') ? 'work' : ‘'Use the Attribute Mappings section to configure any additional SCIM attributes you want Okta WIC to send to your SCIM endpoint. If you add custom attributes, they must include a valid SCIM 2.0 external namespace property. For more information on external namespaces, read Okta's help section.
You can now test user provisioning in the Assignments tab or test update operations by editing user attributes under Directory → People in Okta.
Step 5 — Map User Attributes
Go to Provisioning → To App → Mappings and configure the below fields:
Add a custom property named externalId to link Okta users with Seemore users.
External name
externalId
External namespace
urn:ietf:params:scim:schemas:core:2.0:User
Data type
string
user.getInternalProperty("id")
user:external_id
Correlation ID between Okta and Seemore
user.email
user:email
Primary email address
💡 Important:
The key linking attribute is external_id under the namespace user.
This must correspond to Seemore’s internal user ID for proper linking.
Step 6 — Push Okta groups to Seemore
Seemore can assign roles based on the Okta groups a user belongs to. First, tell Okta which groups to send:
In the Okta Seemore (SCIM) application, open the Push Groups tab.
Choose Push Groups → Find groups by name (or by rule) and add the groups whose members should receive Seemore roles.
Save. Okta pushes the selected group definitions — and their memberships — to Seemore.
Only the groups you explicitly push appear in Seemore. After the first push, Okta keeps membership in sync automatically; changes take effect on each user's next login.
Step 7 — Assign Seemore roles to your groups
Once your groups are pushed, map each one to the Seemore roles its members should receive.
Any Admin can assign the admin, editor, and viewer roles. Only an Owner can grant or remove the Owner role on a group.
In Seemore, open
Settings → Preferences → Authentication → Oktaand make sure Enable SCIM Provisioning is on.Find the Group → role assignment section. The groups you pushed from Okta appear here. If a group is missing, confirm it is selected under Push Groups in Okta, then refresh the page.
For each group, select one or more roles:
owner,admin,editor, orviewer.Click Save roles.
How role resolution works
A user receives the combined roles of every group they belong to.
Roles are applied on the user's next login — assign or change them before the user signs in again.
Group membership is authoritative: on each login, a user's
owner/admin/editor/viewerroles are reconciled to match the roles their groups grant. Removing a role from a group — or removing the user from the group — revokes that role on the user's next login.
Alternative: send roles as a per-user SCIM attribute
Instead of mapping groups, you can send Seemore roles directly on each user as a multi-value SCIM attribute named roles.
In Okta:
Edit the Seemore app’s schema by adding a custom attribute:
Name:
rolesExternal name:
user:rolesType: Array
Map the Okta role or group to this attribute:
Okta source:
user.role(or your internal role field)Target:
roles
Allowed values:
owneradmineditorviewer
⚙️ Technical Note: The SCIM spec requires this field to be an array (e.g.,
[{type:"XXX", value: "admin"}]), not a single string.
Step 8 — Provision and Test
Assign a test user in Okta to the Seemore app and to at least one pushed group.
Verify in Seemore:
User appears under Admin → Users
External ID and email are correct
Role will sync upon user’s first login (session-level role binding)
Troubleshooting
User not created
Invalid SCIM credentials
Check API token and Base URL
Duplicate users
external_id mismatch
Ensure user:external_id is unique
Roles missing
Sent as string
Change to array type
Role not visible post-provision
Role applies at session level
User must re-login
Group not listed in Seemore
Group not pushed from Okta
Add the group under Push Groups in Okta, then refresh the settings page
Group roles not applied
User has not logged in since the change
Group roles apply on the next login — have the user sign in again
Validation Checklist
✅ SCIM connection tested successfully ✅ User created in Seemore after Okta push ✅ Pushed Okta groups appear in the Group → role assignment section ✅ Each group is mapped to the intended Seemore role(s) ✅ Role appears correctly after login ✅ External ID matches Seemore internal ID
Related Resources
Last updated
