SSO / SAML Integration
NirmIQ supports enterprise Single Sign-On (SSO) using SAML 2.0, enabling seamless authentication through your organization's identity provider.
Overview
SAML SSO allows your team to:
- Log in once using corporate credentials
- Centralize user management in your IdP
- Automate user provisioning and deprovisioning
- Enforce corporate security policies
- Simplify access for employees
Supported Identity Providers
NirmIQ works with any SAML 2.0 compliant identity provider:
- Okta
- Azure Active Directory (Azure AD)
- Google Workspace
- OneLogin
- PingIdentity
- JumpCloud
- Auth0
- ADFS (Active Directory Federation Services)
Prerequisites
Before configuring SSO:
- Admin access to NirmIQ (Organization Admin role)
- Admin access to your identity provider
- Verified domain (optional but recommended)
Configuration Steps
Step 1: Get NirmIQ SP Metadata
- Log in to NirmIQ as an Organization Admin
- Go to Admin → SSO Settings
- Note the following values:
- SP Entity ID:
https://api.nirmiq.com/sso/sp/{org_id} - ACS URL:
https://api.nirmiq.com/sso/acs/{org_id}
- SP Entity ID:
- Download the SP Metadata XML file
Step 2: Configure Your Identity Provider
Add NirmIQ as a new SAML application in your IdP:
For Okta
- Admin → Applications → Create App Integration
- Select SAML 2.0
- App name: "NirmIQ"
- Single sign-on URL:
{ACS URL from Step 1} - Audience URI:
{SP Entity ID from Step 1} - Name ID format: Email
- Attribute statements:
email→user.emailfirstName→user.firstNamelastName→user.lastName
For Azure AD
- Enterprise Applications → New Application → Create your own
- Name: "NirmIQ"
- Set up single sign-on → SAML
- Basic SAML Configuration:
- Identifier:
{SP Entity ID} - Reply URL:
{ACS URL}
- Identifier:
- User Attributes & Claims:
- Required claim:
emailaddress
- Required claim:
For Google Workspace
- Admin Console → Apps → SAML Apps → Add App
- Name: "NirmIQ"
- ACS URL:
{ACS URL from Step 1} - Entity ID:
{SP Entity ID from Step 1} - Name ID: Basic Information > Primary Email
Step 3: Get IdP Metadata
From your identity provider, obtain:
- IdP Entity ID (Issuer URL)
- SSO URL (Single Sign-On Service URL)
- X.509 Certificate (for signature verification)
Most IdPs provide a metadata URL or downloadable XML file.
Step 4: Configure NirmIQ
- Go to Admin → SSO Settings
- Enter your IdP details:
- IdP Entity ID: Paste the issuer URL
- SSO URL: Paste the sign-on URL
- Certificate: Paste the X.509 certificate (PEM format)
- Configure user provisioning:
- Auto-provision users: Enable to create accounts automatically
- Default role: Role for newly provisioned users
- Click Save Configuration
- Toggle Enable SSO
Step 5: Configure Domain Mapping (Optional)
To enable automatic SSO discovery based on email domain:
- Go to Admin → SSO Settings → Domain Mapping
- Add your corporate domain(s):
- Example:
company.com,subsidiary.com
- Example:
- Save
Users with these email domains will see "Sign in with SSO" automatically.
Testing SSO
Test Login
- Open an incognito/private browser window
- Go to NirmIQ login page
- Enter an email from your configured domain
- Click Sign in with SSO (or you'll be redirected automatically)
- Complete authentication in your IdP
- Verify you're logged into NirmIQ
Troubleshooting Test
If login fails:
- Check Admin → SSO Settings → Debug Logs
- Common issues:
- Certificate mismatch
- Incorrect ACS URL
- Time synchronization issues
- Missing required attributes
User Provisioning
Just-in-Time (JIT) Provisioning
When enabled, NirmIQ creates user accounts automatically:
- User authenticates via IdP
- NirmIQ receives SAML assertion
- If user doesn't exist, account is created with:
- Email from assertion
- Name from attributes (if provided)
- Default role from configuration
- User is logged in
Attribute Mapping
Map IdP attributes to NirmIQ user fields:
| NirmIQ Field | Common IdP Attributes |
|---|---|
email, emailAddress, mail | |
| First Name | firstName, givenName |
| Last Name | lastName, surname, sn |
| Role | role, groups (custom mapping) |
Deprovisioning
When a user is removed from your IdP:
- They can no longer authenticate via SSO
- Their NirmIQ account remains (for audit purposes)
- Admin can manually deactivate if needed
Security Settings
Allowed Email Domains
Restrict SSO to specific email domains:
- Go to Admin → SSO Settings
- Under Allowed Domains, add domains
- Only users with matching emails can authenticate
Single Logout (SLO)
If your IdP supports Single Logout:
- Configure SLO URL in NirmIQ settings
- When users log out of NirmIQ, they're also logged out of IdP
- When users log out of IdP, NirmIQ session ends
User Experience
Login Flow
With domain mapping:
- User enters email
- System detects SSO domain
- Automatic redirect to IdP
- User authenticates
- Redirect back to NirmIQ
Without domain mapping:
- User clicks "Sign in with SSO"
- Selects or enters organization
- Redirect to IdP
- User authenticates
- Redirect back to NirmIQ
Existing Password Users
Users with existing password-based accounts:
- Can link their account to SSO
- After linking, can use either method
- Organization can require SSO-only
Best Practices
1. Test Thoroughly
- Test with multiple user types
- Verify attribute mapping
- Check error scenarios
2. Communicate to Users
- Announce SSO availability
- Provide instructions for first login
- Explain password vs SSO options
3. Plan for Fallback
- Keep at least one admin with password access
- Document emergency access procedures
4. Monitor Usage
- Review SSO login statistics
- Check for failed authentications
- Audit user provisioning
5. Regular Certificate Rotation
- IdP certificates expire
- Update NirmIQ when rotating
- Test after updates
Audit Logging
All SSO events are logged:
- Login attempts (success/failure)
- User provisioning
- Configuration changes
- Certificate updates
View logs at Admin → SSO Settings → Audit Log
FAQ
Can users still log in with passwords?
By default, yes. You can disable password login for SSO users in organization settings.
What happens if SSO is down?
Admins with password access can still log in. Consider keeping emergency admin accounts.
Can we have multiple IdPs?
Currently, each organization can configure one IdP. Contact support for multi-IdP requirements.
How do I migrate existing users to SSO?
Existing users can link their accounts:
- Log in with password
- Go to Profile → Security
- Link SSO account
- Future logins can use SSO