SCIM Provisioning
Automate user and group lifecycle management in IronWifi using SCIM 2.0 (System for Cross-domain Identity Management). When users are created, updated, or deactivated in your identity provider (IdP), those changes automatically sync to IronWifi -- eliminating manual account management and ensuring WiFi access stays in sync with your directory.
Overview
IronWifi implements a full SCIM 2.0 server compliant with RFC 7643 and RFC 7644. Your IdP pushes changes to IronWifi in real time, rather than IronWifi pulling on a schedule.
Key benefits:
- Automated onboarding -- New employees get WiFi access as soon as they are added to your IdP
- Automated offboarding -- Deactivated users lose WiFi access immediately
- Group-based policies -- IdP group membership drives VLAN, bandwidth, and session policies
- Single source of truth -- Your IdP remains the authoritative directory
Prerequisites
- IronWifi account with admin access
- Identity provider with SCIM 2.0 provisioning support (Entra ID, Okta, OneLogin, JumpCloud, or any SCIM 2.0 compliant IdP)
- Admin access to the identity provider
IronWifi Setup
These steps are common to all identity providers.
Step 1: Generate a SCIM Token
- Log in to IronWifi Console
- Navigate to Users > Connectors > SCIM Tokens (or Identity Provisioning)
- Click Generate Token
- Copy the token immediately -- it is displayed only once
The SCIM token is shown only at creation time. Store it in a secure location (e.g., a password manager) before closing the dialog. If you lose it, you must generate a new one.
Step 2: Note Your SCIM Base URL
Your SCIM endpoint depends on your IronWifi region:
| Region | SCIM Base URL |
|---|---|
| US East | |
| US West | |
| Europe | |
| Asia Pacific | |
Find your region on the IronWifi Console dashboard or in your account settings.
Step 3: Configure Group Policy Mapping
Map IdP groups to IronWifi policies before enabling provisioning so that synced users receive the correct network access:
- Navigate to Users > Groups
- Create or edit groups with the desired policies:
- VLAN ID -- Network segmentation
- Bandwidth limits -- Upload/download caps
- Session timeout -- Maximum session duration
- Idle timeout -- Disconnect after inactivity
- Note the group names -- they must match the group values pushed by your IdP
displayName
Step 4: Set Sync Schedule (Optional)
IronWifi also supports pull-based sync as a complement to SCIM push:
- In Connectors, select your SCIM connector
- Set the Sync interval (15 to 60 minutes)
- Enable Suspended user detection to automatically disable users marked as suspended
Microsoft Entra ID (Azure AD) Setup
Step 1: Create Enterprise Application
- Sign in to Azure Portal
- Navigate to Microsoft Entra ID > Enterprise applications
- Click New application > Create your own application
- Enter name: IronWifi SCIM
- Select Integrate any other application you don't find in the gallery (Non-gallery)
- Click Create
Step 2: Configure Provisioning
- In the IronWifi SCIM application, go to Provisioning
- Click Get started
- Set Provisioning Mode to Automatic
Step 3: Enter Admin Credentials
In the Admin Credentials section:
| Field | Value |
|---|---|
| Tenant URL | |
| Secret Token | The SCIM token from IronWifi |
Click Test Connection. Azure should report "The supplied credentials are authorized to enable provisioning."
Step 4: Configure Attribute Mappings
- Expand Mappings
- Click Provision Microsoft Entra ID Users
- Review and adjust mappings:
| Entra ID Attribute | SCIM Attribute | Notes |
|---|---|---|
| userPrincipalName | userName | Primary identifier |
| givenName | name.givenName | First name |
| surname | name.familyName | Last name |
| emails[type eq "work"].value | Email address | |
| mobile | phoneNumbers[type eq "mobile"].value | Mobile number |
| accountEnabled | active | Account status |
- Click Save
- Optionally configure Provision Microsoft Entra ID Groups to sync group memberships
Step 5: Set Scope and Enable
- Go back to Provisioning > Settings
- Set Scope to one of:
- Sync only assigned users and groups (recommended) -- only users assigned to the app are provisioned
- Sync all users and groups -- provisions the entire directory
- Set Provisioning Status to On
- Click Save
Start with Sync only assigned users and groups and assign a small test group first. After verifying provisioning works correctly, expand to additional groups.
Step 6: Assign Users and Groups
- Go to Users and groups in the enterprise application
- Click Add user/group
- Select the users and groups to provision
- Click Assign
Entra ID begins provisioning within approximately 40 minutes. Monitor progress under Provisioning > Provisioning logs.
Okta Setup
Step 1: Create Application
- Log in to Okta Admin Console
- Navigate to Applications > Applications
- Click Create App Integration
- Select SWA - Secure Web Authentication
- Name the application IronWifi SCIM and click Finish
Step 2: Enable SCIM Provisioning
- In the application, go to the General tab
- Click Edit
- Under Provisioning, select SCIM
- Click Save
Step 3: Configure SCIM Connection
- Go to the Provisioning tab > Integration
- Click Edit and enter:
| Field | Value |
|---|---|
| SCIM connector base URL | |
| Unique identifier field for users | |
| Supported provisioning actions | Push New Users, Push Profile Updates, Push Groups |
| Authentication Mode | HTTP Header |
| Authorization | The SCIM token from IronWifi |
- Click Test API Credentials -- Okta should confirm the connection is valid
- Click Save
Step 4: Configure Provisioning Actions
- Go to Provisioning > To App
- Click Edit and enable:
- Create Users
- Update User Attributes
- Deactivate Users
- Click Save
Step 5: Configure Attribute Mappings
- In Provisioning > To App, scroll to Attribute Mappings
- Review default mappings and adjust if needed:
- maps to Okta
userNamelogin - maps to Okta
givenNamefirstName - maps to Okta
familyNamelastName
Step 6: Configure Group Push
- Go to the Push Groups tab
- Click Push Groups > Find groups by name
- Select the groups to sync to IronWifi
- Click Save
Step 7: Assign Users
- Go to the Assignments tab
- Click Assign > Assign to Groups
- Select the groups and click Done
Okta begins provisioning immediately for new assignments.
Google Workspace Setup
Google Workspace does not natively support outbound SCIM provisioning. Use one of these alternatives:
Option 1: IronWifi Google Workspace Connector (Recommended)
IronWifi has a built-in Google Workspace connector that provides similar functionality:
- Navigate to Users > Connectors > New Connector
- Select Google Apps
- Authorize with your Google Workspace admin account
- Select groups and organizational units to sync
See Google Workspace Integration for detailed setup instructions.
Option 2: Google Cloud Identity with Third-Party SCIM Bridge
If you require SCIM-based provisioning from Google Workspace:
- Deploy a SCIM bridge service (e.g., using Google Cloud Identity or a third-party tool)
- Configure the bridge to read from Google Directory API
- Point the bridge to IronWifi's SCIM endpoint:
- Base URL:
https://REGION.ironwifi.com/scim/v2 - Bearer Token: Your SCIM token
- Base URL:
- Configure attribute and group mappings in the bridge
OneLogin Setup
Step 1: Add Application
- Log in to OneLogin Admin Portal
- Navigate to Applications > Applications
- Click Add App
- Search for SCIM Provisioner with SAML (SCIM v2 Core)
- Click Save
Step 2: Configure SCIM Connection
- Go to the Configuration tab
- Enter:
- SCIM Base URL:
https://REGION.ironwifi.com/scim/v2 - SCIM Bearer Token: Your SCIM token from IronWifi
- SCIM JSON Template: Leave as default
- SCIM Base URL:
- Click API Connection > Enable
- Click Save
Step 3: Configure Provisioning
- Go to the Provisioning tab
- Enable:
- Create user
- Delete user (maps to deactivation in IronWifi)
- Update user
- Click Save
Step 4: Assign Users
- Go to Users tab
- Assign users or roles to the application
JumpCloud Setup
Step 1: Create Application
- Log in to JumpCloud Admin Portal
- Navigate to SSO > Add New Application
- Select Custom SCIM
- Enter application name: IronWifi
Step 2: Configure SCIM Endpoint
- In the Identity Management tab, enter:
- Base URL:
https://REGION.ironwifi.com/scim/v2 - Token Key: Your SCIM token from IronWifi
- Base URL:
- Click Test Connection
- Click Activate
Step 3: Configure User and Group Provisioning
- Enable User provisioning and Group provisioning
- Configure attribute mappings as needed
- Assign user groups to the application
Attribute Mapping Reference
IronWifi maps SCIM attributes to internal user fields as follows:
| SCIM Attribute | IronWifi Field | Description |
|---|---|---|
| Username | Primary identifier (typically email) |
| First Name | User's given name |
| Last Name | User's surname |
| Work email address | |
| Mobile Phone | Mobile number |
| Active Status | |
| Display Name | Full display name |
| Group Membership | Linked IronWifi groups |
When a user is deleted via SCIM (HTTP DELETE), IronWifi performs a soft delete -- the user is set to
active=false
Group Policy Mapping
SCIM group provisioning enables automatic policy assignment based on IdP group membership:
- Create matching groups in IronWifi -- go to Users > Groups and configure each group with the desired policies (VLAN, bandwidth, session limits)
- Push groups from your IdP -- use the group push feature in your IdP to create and sync groups via SCIM
- IronWifi matches groups by -- ensure the group name in your IdP matches the group name in IronWifi
displayName
Example policy mapping:
| IdP Group | IronWifi Group | VLAN | Bandwidth | Session Timeout |
|---|---|---|---|---|
| Corporate-WiFi | Corporate | 100 | 100/100 Mbps | 12 hours |
| Guest-WiFi | Guests | 200 | 10/10 Mbps | 2 hours |
| Contractors | Contractors | 150 | 25/25 Mbps | 8 hours |
When a user is added to "Corporate-WiFi" in your IdP, SCIM pushes the group membership change to IronWifi, and the user inherits VLAN 100, 100 Mbps bandwidth, and a 12-hour session timeout.
SCIM Endpoints Reference
For IdPs that require manual endpoint configuration or for custom integrations:
| Endpoint | Method | Description |
|---|---|---|
| GET | Capabilities discovery |
| GET | Supported resource types |
| GET | SCIM schema definitions |
| GET, POST | List or create users |
| GET, PUT, PATCH, DELETE | Read, replace, update, or deactivate a user |
| GET, POST | List or create groups |
| GET, PATCH, DELETE | Read, update, or delete a group |
Authentication: All requests require an
Authorization: Bearer <SCIM_TOKEN>
Filtering: The Users and Groups endpoints support SCIM filter expressions:
eq
ne
co
sw
ew
gt
ge
lt
le
pr
Example:
Troubleshooting
Token Authentication Failures
Symptom: IdP reports "Unable to connect" or "401 Unauthorized"
- Verify the token was copied correctly with no leading/trailing whitespace
- Confirm the token starts with followed by 64 hexadecimal characters
scim_ - Check that the SCIM Base URL uses the correct region
- Generate a new token if the current one may have been revoked
Users Not Provisioning
Symptom: Users exist in the IdP but do not appear in IronWifi
- Check the IdP provisioning logs for error details
- Verify the user is assigned to the application (for Entra ID and Okta)
- Confirm the scope includes the user (especially if set to "assigned users only")
- Ensure is mapped and contains a valid value
userName - Wait for the initial provisioning cycle to complete (Entra ID can take up to 40 minutes)
Group Membership Not Updating
Symptom: Users are provisioned but not assigned to the correct IronWifi groups
- Verify group push is enabled in your IdP
- Confirm the group in the IdP matches the group name in IronWifi exactly (case-sensitive)
displayName - Check that the groups were created in IronWifi before SCIM group push was enabled
- Review SCIM PATCH operations in IdP provisioning logs
Users Not Deactivated
Symptom: Disabled users in the IdP still have WiFi access
- Verify your IdP sends a PATCH or PUT with when deactivating
active: false - Check the IdP provisioning configuration includes "Deactivate Users"
- Confirm the deactivation mapping is set (e.g., to
accountEnabledin Entra ID)active - Review IronWifi user status -- the user should show as inactive
Attribute Mapping Errors
Symptom: User data is incomplete or incorrect in IronWifi
- Review attribute mappings in your IdP provisioning configuration
- Ensure required fields (,
userName,name.givenName) are mappedname.familyName - Check for conflicting mappings or expressions
- Test with a single user before bulk provisioning
Related Documentation
- Microsoft Entra ID Connector -- Directory sync and WPA-Enterprise with Entra ID
- Okta Integration -- SAML SSO and RADIUS with Okta
- Google Workspace Integration -- User sync and Google authentication
- OneLogin Integration -- SAML and user provisioning with OneLogin
- JumpCloud Integration -- SAML, LDAP, and RADIUS with JumpCloud
- Identity Provider Connectors -- Overview of all connector types
- Groups & Policies -- Configure VLAN, bandwidth, and session policies