JumpCloud Integration
Connect IronWifi to JumpCloud Directory Platform to authenticate WiFi users with their JumpCloud credentials. This integration supports SAML single sign-on, LDAP authentication, and RADIUS for comprehensive identity management.
Features
- SAML Single Sign-On - Enterprise SSO for captive portals
- LDAP Authentication - Cloud LDAP for WPA-Enterprise
- RADIUS Authentication - Built-in RADIUS server support
- User Synchronization - Import users from JumpCloud
- Group Synchronization - Sync user groups and attributes
- Multi-Factor Authentication - Enforce MFA for WiFi access
Prerequisites
- JumpCloud administrator account
- IronWifi account with Connector access
- JumpCloud subscription (Free tier supported)
SAML Single Sign-On Setup
Step 1: Create JumpCloud SSO Application
- Log into JumpCloud Admin Portal
- Navigate to SSO (or Applications > SSO)
- Click the (+) button to add a new application
- Select Custom SAML App
- Click Configure
Step 2: Configure Application Settings
General Info:
- Display Label: IronWifi
- Description: WiFi Authentication
- Logo: Upload logo (optional)
Step 3: Configure SSO Settings
In the SSO tab, configure:
| Field | Value |
|---|---|
| IdP Entity ID | Copy this value for IronWifi |
| SP Entity ID | {Entity ID from IronWifi} |
| ACS URL | {ACS URL from IronWifi} |
| SAMLSubject NameID | |
| SAMLSubject NameID Format | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
| Signature Algorithm | RSA-SHA256 |
| Sign Assertion | Checked |
| Login URL | {Splash Page URL} (optional) |
Step 4: Configure Attribute Statements
Add custom attributes in the SSO tab:
| Service Provider Attribute Name | JumpCloud Attribute |
|---|---|
| firstName | firstname |
| lastName | lastname |
| username | username |
Step 5: Download IDP Certificate
- Scroll to IDP Certificate Valid
- Click Download certificate
- Save the certificate file
- Copy the IDP URL (SSO URL)
Step 6: Configure IronWifi
- Navigate to Connectors > Add Connector
- Select JumpCloud (SAML)
- Enter configuration:
- IdP Entity ID: From JumpCloud SSO config
- IdP SSO URL: The IDP URL from JumpCloud
- Certificate: Upload the downloaded certificate
- Click Save
Step 7: Assign Users to Application
- In JumpCloud, go to the IronWifi application
- Click the User Groups tab
- Select groups to grant access
- Or use the Users tab to assign individual users
- Click Save
User Synchronization
Sync users from JumpCloud to IronWifi via API.
Step 1: Generate API Key
- In JumpCloud, navigate to API Settings
- Click Generate New API Key
- Set Description: IronWifi Connector
- Copy the API key immediately (it won't be shown again)
Step 2: Configure IronWifi Connector
- Edit your JumpCloud connector in IronWifi
- Navigate to User Sync Settings
- Enter:
- Organization ID: Your JumpCloud org ID
- API Key: The generated API key
- Configure sync options:
- Auto-sync: Enable scheduled synchronization
- Sync interval: Hourly, daily, or weekly
- Include suspended users: Yes/No
- Include external users: Yes/No
- Click Save
Step 3: Run Initial Sync
- Click Sync Now
- Monitor progress in the sync log
- Review imported users in Users section
- Verify user attributes and group memberships
Synchronization Mapping
User Attributes
| JumpCloud | IronWifi |
|---|---|
| Username | |
| firstname | First Name |
| lastname | Last Name |
| username | Alternate Username |
| activated | Status (enabled/disabled) |
| suspended | Status |
| custom_attributes | Custom Fields |
Sync Options
| Setting | Description |
|---|---|
| Auto-sync | Scheduled automatic synchronization |
| Sync interval | Frequency: hourly, daily, weekly |
| User filter | Filter by attributes or groups |
| Include suspended | Import suspended users as disabled |
| Include external | Sync external directory users |
Group Mapping
Map JumpCloud user groups to IronWifi groups:
- In the connector, navigate to Group Mapping
- Add mapping rules:
- JumpCloud Group → IronWifi Group
- Example: "WiFi-Users" → "Employee WiFi"
- Enable Auto-create groups to create missing groups
- Configure group attributes:
- VLAN assignment
- Bandwidth limits
- Access policies
- Save and run sync
RADIUS Authentication
JumpCloud includes a built-in RADIUS server for WPA-Enterprise authentication.
Step 1: Enable RADIUS in JumpCloud
- Navigate to RADIUS in JumpCloud console
- Click Add New RADIUS Server
- Configure server settings:
- Name: IronWifi
- Network Source IP: Your controller IPs or 0.0.0.0/0
- Click Save
- Copy the RADIUS server details:
- RADIUS server IP/hostname
- Shared secret
Step 2: Assign Users to RADIUS
- In the RADIUS server settings
- Click User Groups tab
- Select groups that can authenticate via RADIUS
- Or assign individual users
- Save configuration
Step 3: Configure IronWifi for RADIUS
- In the JumpCloud connector
- Navigate to RADIUS Settings
- Enter:
- JumpCloud RADIUS server IP: From JumpCloud
- RADIUS shared secret: From JumpCloud
- Authentication port: 1812 (default)
- Accounting port: 1813 (default)
- Enable RADIUS Proxy Mode
- Save configuration
Step 4: Test RADIUS Authentication
- Configure a test device for WPA-Enterprise:
- Security: WPA2-Enterprise
- Authentication: PEAP or TTLS
- Inner authentication: MSCHAPv2 or PAP
- Enter JumpCloud username and password
- Connect to network
- Verify authentication in IronWifi logs
- Check RADIUS logs in JumpCloud console
LDAP Integration
Use JumpCloud's LDAP-as-a-Service for authentication.
Step 1: Enable LDAP in JumpCloud
- Navigate to LDAP in JumpCloud console
- Click Add New LDAP Server
- Note the LDAP connection details:
- LDAP server URL:
ldap://ldap.jumpcloud.com:389orldaps://ldap.jumpcloud.com:636 - Bind DN:
uid={username},ou=Users,o={orgId},dc=jumpcloud,dc=com
- LDAP server URL:
- Copy your organization ID
Step 2: Assign Users to LDAP
- In LDAP settings, click User Groups
- Select groups for LDAP access
- Or assign individual users
- Save configuration
Step 3: Configure IronWifi LDAP Connector
- Navigate to Connectors > Add Connector
- Select LDAP
- Enter configuration:
- LDAP Server:
ldaps://ldap.jumpcloud.com:636 - Bind DN:
uid=admin,ou=Users,o={yourOrgId},dc=jumpcloud,dc=com - Bind Password: Your JumpCloud password or service account password
- Search Base:
ou=Users,o={yourOrgId},dc=jumpcloud,dc=com - Search Filter:
(uid={username})
- LDAP Server:
- Enable Use TLS/SSL
- Test connection
- Save configuration
Multi-Factor Authentication
Enforce MFA for WiFi access through JumpCloud.
For SAML Authentication
- In JumpCloud, navigate to MFA settings
- Configure MFA policies:
- Push notifications via JumpCloud Protect
- TOTP (Google Authenticator, Authy)
- SMS (requires add-on)
- WebAuthn (YubiKey, biometrics)
- Apply MFA policy to:
- Specific user groups
- The IronWifi SSO application
- Users will be prompted for MFA during portal login
For RADIUS Authentication
Standard RADIUS protocols (PEAP, TTLS) do not natively support MFA challenges. MFA enforcement for RADIUS requires alternative approaches:
Option 1: Pre-authentication MFA
- Users must complete MFA before RADIUS authentication
- Configured at the JumpCloud policy level
Option 2: Certificate-Based (EAP-TLS)
- Use certificates instead of passwords
- MFA enforced during certificate issuance
Option 3: Time-Based Policies
- Require recent MFA completion
- Set MFA session duration in JumpCloud
Captive Portal Integration
Enable JumpCloud SSO for guest WiFi:
- Navigate to Captive Portals > your portal
- Go to Authentication Providers
- Enable JumpCloud SAML
- Select your JumpCloud connector
- Configure post-authentication:
- Auto-approve authenticated users
- Create user accounts automatically
- Set default access policies
- Add JumpCloud domains to Walled Garden:
*.jumpcloud.com
console.jumpcloud.com
api.jumpcloud.com
sso.jumpcloud.com - Save portal configuration
Device Management Integration
JumpCloud can manage devices and enforce compliance.
Device Binding
Associate user devices with authentication:
- Enable device collection in captive portal
- JumpCloud tracks device associations via user login
- View managed devices in JumpCloud console
- Apply device-specific policies
Conditional Access Based on Device
- In JumpCloud, create conditional access policies:
- Require managed devices
- Check device compliance status
- Enforce OS versions
- Apply policies to IronWifi SSO application
- Non-compliant devices are denied access
Advanced Configuration
Custom User Attributes
Map custom JumpCloud attributes to IronWifi:
- In JumpCloud, create custom user attributes
- In IronWifi connector, add attribute mappings:
- JumpCloud custom attribute → IronWifi custom field
- Use attributes for:
- VLAN assignment
- Bandwidth limits
- Custom policies
- Save and sync
Dynamic Group Assignment
Automatically assign users based on JumpCloud attributes:
- Create attribute-based groups in IronWifi
- Configure rules based on:
- Department
- Location
- Job title
- Custom attributes
- Users automatically move between groups based on JumpCloud data
Password Policies
JumpCloud password policies apply to WiFi authentication:
- Set password complexity in JumpCloud
- Configure expiration policies
- Enforce password rotation
- Users must update passwords in JumpCloud
- New passwords sync automatically for authentication
Testing the Integration
SAML Testing
- Open captive portal URL
- Click JumpCloud login button
- Enter JumpCloud credentials
- Complete MFA if required
- Verify redirect back to portal
- Confirm WiFi access granted
- Check user session in IronWifi logs
RADIUS Testing
- Configure device for WPA-Enterprise:
- SSID: Your network name
- Security: WPA2-Enterprise
- Authentication: PEAP-MSCHAPv2 or TTLS-PAP
- Enter JumpCloud username and password
- Attempt connection
- Verify authentication in both:
- IronWifi authentication logs
- JumpCloud RADIUS logs
- Test with different user accounts
LDAP Testing
- Create test user in JumpCloud
- Assign to LDAP group
- Configure test device to use LDAP credentials
- Verify connection in IronWifi logs
- Check LDAP bind logs in JumpCloud
User Sync Testing
- Create test user in JumpCloud
- Add custom attributes
- Assign to groups
- Run manual sync in IronWifi
- Verify user appears with correct:
- Basic attributes
- Custom attributes
- Group memberships
Troubleshooting
SAML Authentication Errors
Error: Invalid SAML Response
- Verify ACS URL matches in both systems
- Check Entity ID is correct
- Ensure certificate is valid
- Verify signature algorithm (RSA-SHA256)
Error: User Not Found
- Confirm user is assigned to IronWifi app
- Check attribute mapping (email required)
- Verify user status is active
- Review NameID format configuration
Error: Invalid Signature
- Re-download certificate from JumpCloud
- Check certificate expiration date
- Verify certificate format (PEM/X.509)
- Ensure no extra whitespace in certificate
MFA Timeout
- Increase MFA timeout in JumpCloud
- Check user has MFA configured
- Verify push notification delivery
- Try alternative MFA method
User Sync Issues
No Users Syncing
- Verify API key is correct and active
- Check API permissions
- Confirm organization ID is correct
- Test API connectivity
- Review network/firewall rules
Partial User Sync
- Check user filter settings
- Verify suspended user inclusion setting
- Review attribute data completeness
- Check sync logs for specific errors
- Verify users meet filter criteria
Attributes Not Syncing
- Confirm attributes exist in JumpCloud
- Check attribute mapping configuration
- Verify custom attributes are populated
- Review field name case sensitivity
Group Mapping Not Working
- Verify group names match exactly (case-sensitive)
- Enable auto-create groups option
- Check that users are in groups in JumpCloud
- Review group assignment timing
RADIUS Authentication Failures
Authentication Rejected
- Verify RADIUS server IP is correct
- Check shared secret matches exactly
- Confirm user has RADIUS access in JumpCloud
- Test credentials in JumpCloud portal
- Review authentication method compatibility
Connection Timeout
- Check network connectivity to JumpCloud RADIUS
- Verify firewall allows UDP 1812/1813
- Test with
radtestor similar tool - Check for NAT/routing issues
- Verify JumpCloud RADIUS server status
User Not Authorized for RADIUS
- Confirm user assigned to RADIUS server
- Check user group has RADIUS access
- Verify user account is active
- Review RADIUS user group assignments
Certificate Validation Errors
- Ensure trusted root certificates installed
- Verify certificate chain is complete
- Check certificate hasn't expired
- Disable certificate validation for testing
LDAP Authentication Issues
Bind Failed
- Verify LDAP server URL is correct
- Check bind DN format
- Confirm bind password is correct
- Test with LDAP browser tool
- Verify user has LDAP access in JumpCloud
User Not Found
- Check search base is correct
- Verify search filter syntax
- Confirm user exists in JumpCloud
- Check organizational structure
- Review user's DN path
TLS/SSL Connection Failed
- Verify using
ldaps://for secure connection - Check port 636 is open
- Ensure valid SSL certificate
- Try non-SSL port 389 for testing
Performance Issues
Slow SAML Authentication
- Check network latency to JumpCloud
- Verify DNS resolution
- Review MFA timeout settings
- Check JumpCloud service status
Sync Taking Too Long
- Reduce sync frequency
- Implement user filters
- Check API rate limits
- Review user count vs sync interval
RADIUS Timeouts
- Check RADIUS server response time
- Verify network path latency
- Review firewall/NAT configuration
- Test with alternative RADIUS server
Security Best Practices
-
Use API Keys Securely
- Store API keys encrypted
- Rotate keys regularly
- Use separate keys per integration
- Never commit keys to version control
-
Enable MFA
- Require MFA for all administrative access
- Enforce MFA for WiFi authentication where possible
- Use push notifications for better UX
-
Implement Least Privilege
- Grant minimal API permissions needed
- Use service accounts for automation
- Restrict RADIUS access by user group
- Limit LDAP access to necessary users
-
Secure RADIUS Configuration
- Use strong, random shared secrets (32+ characters)
- Restrict source IPs for RADIUS authentication
- Enable RADIUS accounting for audit trail
- Rotate shared secrets periodically
-
Monitor and Audit
- Review authentication logs regularly
- Set up alerts for failed authentications
- Monitor sync failures
- Audit user access periodically
-
Use Encrypted Connections
- Use LDAPS (LDAP over TLS) not plain LDAP
- Verify TLS certificates
- Ensure captive portal uses HTTPS
- Enable RADSEC where supported
-
Implement Password Policies
- Enforce strong password requirements
- Enable password expiration
- Require password rotation
- Prevent password reuse
-
Device Compliance
- Require managed devices where possible
- Enforce OS update policies
- Check device compliance status
- Block non-compliant devices
-
Regular Maintenance
- Keep connectors updated
- Review and update group mappings
- Test authentication flows regularly
- Document configuration changes
-
Backup Configuration
- Document all integration settings
- Export user and group mappings
- Save API keys in secure vault
- Maintain disaster recovery plan
Rate Limits and Quotas
Be aware of JumpCloud API limits:
| Resource | Free Tier | Premium |
|---|---|---|
| API Calls | 1,000/hour | Higher limits |
| Users | 10 | Unlimited |
| Groups | Unlimited | Unlimited |
| SAML Apps | 10 | Unlimited |
| RADIUS Users | 10 | Unlimited |
Tips to avoid rate limiting:
- Adjust sync frequency based on user count
- Use incremental sync where available
- Monitor API usage in JumpCloud console
- Cache user data appropriately
Migration from Other Identity Providers
From Active Directory
- Export users from AD
- Import into JumpCloud
- Configure password sync or reset
- Test authentication
- Update IronWifi connector
- Migrate users in phases
From Azure AD
- Use JumpCloud's Azure AD sync
- Configure attribute mapping
- Test user authentication
- Update SAML configuration
- Switch over during maintenance window
From Okta/OneLogin
- Export user list from existing IdP
- Import users into JumpCloud
- Configure SAML in parallel
- Test with pilot group
- Switch DNS/URLs to cut over
- Monitor for issues
Support Resources
- JumpCloud Documentation
- JumpCloud API Reference
- JumpCloud Community
- JumpCloud RADIUS Guide
- JumpCloud LDAP Guide
- IronWifi Support: support@ironwifi.com