Tags | Provisioning | Okta | SCIM |
ADMIN PRIVILEGES REQUIRED
This documentation is for Stack Internal Enterprise. Free, Basic, and Business users can access their documentation here. Find your plan.
NOTE: This document is in pre-release, and should not be used for SCIM setup. Follow the instructions in the Configure System for Cross-domain Identity Management (SCIM) with Okta article instead.
Overview
System for Cross-domain Identity Management (SCIM) is an open API for securely sharing user information between online systems. In Stack Internal Enterprise, SCIM 2.0 support allows an Identity Provider (IdP) to automatically update Stack Overflow with the user's activation status and/or role. Unlike SAML 2.0, which passes user information only at login, SCIM sends updates whenever they occur. This provides Stack Internal Enterprise near-real-time updates to user status and role as changes happen at the IdP.
This article covers integrating Okta and your Stack Internal Enterprise site with SCIM. For a better understanding of using SCIM with Stack Internal Enterprise, read our SCIM 2.0 support article.
SOE supports the following features with Okta:
Create users
Update user attributes
Deactivate users
Import users
When setting up SCIM in Okta, you'll configure your Stack Internal Enterprise site and Okta in a back-and-forth process. We recommend having a browser tab open to each site.
NOTE: Setting up SCIM is a continuation of the Okta SAML SSO configuration process. If you haven't yet configured SSO in Okta, start with the Configure Single Sign-on (SSO) with Okta article.
Configure SCIM in Stack Internal Enterprise
As a Stack Internal Enterprise admin, click Admin Settings in the left-hand menu. Click SCIM under the "ACCESS MANAGEMENT" heading.
Configure the following settings:
SCIM Set to On to enable SCIM.
SCIM authorization bearer token Create a token (password) you'll later enter into the SCIM configuration on Okta. You can enter any string of characters, but be sure to follow best practices for creating a strong password. Stack Internal Enterprise hides the value by default. Click Show password to view and copy the value.
Allow Moderator Promotion via a userType property Check this box to enable SCIM promotion/demotion between regular user and moderator roles.
Allow Admin Promotion via a userType property Check this box to enable SCIM promotion/demotion between regular user and admin roles.
Click Save settings.
Configure SCIM in Okta
There are two ways to configure SCIM for your Stack Internal Enterprise site with Okta. We recommend the app integration method below unless you can't (or choose not to) access the Okta App Integration Catalog. If you aren't using the Okta app integration, skip down to the "ALTERNATE MANUAL CONFIGURATION METHOD" section.
OKTA APP INTEGRATION METHOD
Return to the Stack Internal app you configured in the Configure Single Sign-on (SSO) with Okta article.
Select the "Provisioning" tab, and click Configure API Integration.
Check Enable API Integration.
Set the following parameters.
OAuth Bearer Token Enter the SCIM authorization bearer token you created on your Stack Internal Enterprise SCIM settings page.
Click Test API Credentials. You should get a "verified" message.
Click Save.
Click the "Provisioning" tab, then To App in the left-hand menu.
Click the "Provisioning to App" Edit link.
Click the checkboxes to enable Create Users, Update User Attributes, and Deactivate Users.
Click Save.
When you deactivate or reactivate users assigned to this Okta SCIM app, the SCIM process will change their status on your Stack Internal Enterprise site as well.
ALTERNATE MANUAL CONFIGURATION METHOD
NOTE: The following steps allow for manual configuration of an Okta SCIM integration that remains separate from your Okta SSO integration. Use this process if you can't (or choose not to) access the Okta App Integration Catalog.
In Okta, you'll create a new SCIM application to integrate with Stack Internal Enterprise. This allows you to maintain separation between your SSO and SCIM integrations.
NOTE: Even if you have an existing Okta SSO application configured, you'll need to create a new SCIM application for this integration.
Create a new SCIM application in Okta
From the Applications page in Okta, click Browse App Catalog. This takes you to the application directory.
Search for SCIM 2.0 Test App (OAuth Bearer Token).
Click Add to begin the setup.
Select the "General Settings" tab.
Enter a descriptive name (such as "Stack Internal SCIM") in the Application label field. You can leave other settings at their defaults, or change them depending upon your requirements.
Click Next.
Select the "Sign-On Options" tab.
Make sure Application username format matches the User Identifier Assertion at https://[your_site].stackenterprise.co/enterprise/auth-settings. This is how Stack Internal Enterprise properly identifies users.
Click Done.
Select the "Provisioning" tab.
Click Configure API Integration.
Check Enable API Integration and set the following parameters:
SCIM 2.0 Base Url Set to https://[your_site].stackenterprise.co/api/scim/v2.
OAuth Bearer Token Enter the SCIM authorization bearer token you created on your Stack Internal Enterprise SCIM settings screen.
Click Test API Credentials. You should get a "verified" message.
Click Save.
Click the "Provisioning" tab, then To App in the left-hand menu.
Click Edit.
Click the checkboxes to enable Create Users, Update User Attributes, and Deactivate Users.
Click Save.
When you deactivate or reactivate users assigned to this Okta SCIM app, the SCIM process will change their status on your Stack Internal Enterprise site as well.
Assign users to the SCIM application
In the SCIM 2.0 application in Okta, click the "Assignments" tab.
Assign your users (and/or groups) with the Assign button.
BOTH METHODS: Configure administrator/moderator promotion and demotion (optional)
You can use SCIM to promote/demote users between administrator, moderator, and regular user roles. This requires defining a user type field in Okta and enabling user promotion on the SCIM integration settings page in Stack Internal Enterprise.
If you enable promotion, Stack Internal Enterprise will use the SCIM payload's stackUserType field to promote or demote users between admin, moderator, and regular user roles.
NOTE: Stack Internal Enterprise site administrators users have moderator privileges, but moderators do not have admin privileges.
To configure SCIM user promotion/demotion, follow these steps.
In Stack Internal Enterprise, check the Allow Moderator Promotion via a userType property and/or Allow Admin Promotion via a userType property checkboxes on the SCIM settings page.
Click Save settings.
Return to the Okta admin interface. Click Profile Editor in the left-hand menu's "Directory" section.
Click the Stack Internal application, then Add Attribute.
Create a new
stackUserTypeattribute for the Stack Internal app (Okta appuser attribute, learn more here). The values Stack Internal Enterprise will accept forstackUserTypeare Admin, Moderator, and Registered. Stack Internal Enterprise will change user roles based on these values.Return to the profile editor and repeat steps 3-5, this time for User (default) instead of the Stack Internal app (Okta user attribute; learn more here).
Click Profile Editor in the left-hand menu's "Directory" section, then Stack Internal Enterprise application.
Click Mappings.
Select Okta User to Stack Internal at the top of the screen.
Scroll down to locate the new
stackUserTypefield. Mapuser.stackUserTypein the "user" column tostackUserTypein the "appuser" column.Click Save Mappings.
BOTH METHODS: Update user department and job title (optional)
You can add optional user department and job title fields to your SCIM data. Adding these fields allows you to use Stack Internal Enterprise's connectivity reporting feature. Learn more in the Connectivity article.
To add user department and job title fields:
In Okta, click the "Provisioning" tab of the Stack Internal app.
Click To App in the left-hand menu.
Scroll down to the "Stack Internal Attribute Mappings" section and click Show Unmapped Attributes.
Click the pencil (edit) button in the "Title" field (
jobTitlein SCIM).For Attribute value, select Map from Okta Profile.
In the next field, select title | string.
Set the Apply on field to Create and update.
Click Save.
Repeat step 4-8 above for the "Department" field, setting its value to department | string.
Limitations
Stack Internal Enterprise does not receive user group information from Okta. You can set up user groups to organize your users in Okta, but those group affiliations will not transfer to Stack Internal Enterprise.
When using Okta user groups, Okta does not consider group membership changes to be user events. If you add or remove a user from an Okta group, Okta will not send an SCIM request to Stack Internal Enterprise. To update your Stack Internal Enterprise site after changing a group roster in Okta, click Force Sync. This is a known limitation of Okta.
Enabling automatic user management by SCIM does not disable manual user management in Stack Internal Enterprise. An admin can disable a user in Stack Internal Enterprise, for example, without changing their status in Okta. Okta and Stack Internal Enterprise will then be out-of-sync. To avoid confusion, we recommend standardizing on a single user management workflow (Okta only or Stack Internal Enterprise in-app only–not both).


















