Okta SAML Integration
This guide explains how to configure Okta as a SAML Service Provider (SP) to use Signia as an Identity Provider (IdP).
Overview
After completing this integration:
- Okta users will authenticate using Signia credentials
- Users can log in with WebAuthn/Passkeys (Face ID, Touch ID, security keys)
- Okta trusts Signia's SAML assertions for user authentication
Prerequisites
- Admin access to Okta (Super Admin or Org Admin)
- Admin access to Signia ID dashboard
- SAML enabled for your Signia tenant
If SAML is not enabled yet, see Enable SAML 2.0 Identity Provider.
Part 1: Configure Signia IdP
Step 1: Download Signia Metadata
- Log in to Signia ID dashboard (
https://signiaid.com) - Select your tenant from the dropdown
- Navigate to SAML in the left sidebar
- In the Identity Provider Information section:
- Click Download Metadata button
- Save as
signia-metadata.xml
Alternative: Download directly from metadata URL:
curl https://<your-tenant>.signiaauth.com/saml/metadata -o signia-metadata.xml
Step 2: Note Okta Configuration Details
You'll need these values from Okta later. Keep this guide open while configuring Okta.
Part 2: Configure Okta SAML Application
Step 1: Create SAML Application in Okta
- Log in to Okta Admin Console (
https://<your-okta-domain>.okta.com/admin) - Navigate to Applications → Applications
- Click Create App Integration
- Select:
- Sign-in method: SAML 2.0
- Click Next
Step 2: General Settings
App name: Enter a descriptive name
- Example: "Signia SSO"
App logo (optional): Upload your company logo
Click Next
Step 3: Configure SAML Settings
General SAML Settings
Single sign on URL:
https://<your-tenant>.signiaauth.com/saml/sso
- ✅ Check "Use this for Recipient URL and Destination URL"
Audience URI (SP Entity ID):
https://<your-okta-domain>.okta.com/saml2/service-provider/<app-id>
- You'll get this after saving the app (see Step 5)
- For now, use a placeholder:
https://temp.okta.com
Default RelayState (optional): Leave blank
Name ID format: EmailAddress
Application username: Email
Attribute Statements
Add these attribute mappings:
| Name | Name format | Value |
|---|---|---|
| Unspecified | user.email | |
| firstName | Unspecified | user.firstName |
| lastName | Unspecified | user.lastName |
Group Attribute Statements (optional)
Leave blank unless you need group-based access control.
Step 4: Advanced Settings
Response: Signed
Assertion Signature: Signed
Signature Algorithm: RSA-SHA256
Digest Algorithm: SHA256
Assertion Encryption: Unencrypted
Click Next
Step 5: Feedback
Are you a customer or partner?: Select "I'm an Okta customer adding an internal app"
App type: Select "This is an internal app that we have created"
Click Finish
Step 6: Get Okta SP Entity ID
After creating the app:
- Navigate to the Sign On tab
- Under SAML 2.0, find Metadata URL
- Copy the Entity ID from the metadata or note it:
https://<your-okta-domain>.okta.com/saml2/service-provider/<app-id>
Note the app-id - you'll need this for Signia configuration.
Step 7: Get Okta ACS URL
The ACS URL follows this format:
https://<your-okta-domain>.okta.com/sso/saml2/<app-id>
Verify: Navigate to Sign On tab → View Setup Instructions to see the exact URLs.
Part 3: Configure Signia Service Provider
Step 1: Add Service Provider in Signia
- Log in to Signia ID dashboard
- Navigate to SAML → Service Providers
- Click Add Service Provider
Step 2: Enter Okta Details
Name: Okta Production (or your preferred name)
Entity ID:
https://<your-okta-domain>.okta.com/saml2/service-provider/<app-id>
ACS URL:
https://<your-okta-domain>.okta.com/sso/saml2/<app-id>
NameID Format: Email Address
Enabled: ✓ (checked)
Step 3: Save Service Provider
Click Create Service Provider
The Service Provider will appear in the list.
Part 4: Upload Signia Metadata to Okta
Step 1: Navigate to Okta SAML Settings
- In Okta Admin Console
- Navigate to Applications → Applications
- Click on your SAML app (e.g., "Signia SSO")
- Click Sign On tab
Step 2: Edit SAML Settings
- Scroll to SAML 2.0
- Click Edit
Step 3: Upload Metadata
Identity Provider metadata: Click Browse files...
- Select
signia-metadata.xml(downloaded in Part 1) - Click Upload
Okta will auto-populate:
- Identity Provider Single Sign-On URL
- Identity Provider Issuer
- X.509 Certificate
Step 4: Verify Auto-Populated Fields
Identity Provider Single Sign-On URL:
https://<your-tenant>.signiaauth.com/saml/sso
Identity Provider Issuer:
https://<your-tenant>.signiaauth.com
X.509 Certificate: Should show certificate details
Step 5: Save Settings
Click Save
Part 5: Assign Users
Step 1: Navigate to Assignments
- In your Okta SAML app
- Click Assignments tab
Step 2: Assign Users or Groups
Assign to People:
- Click Assign → Assign to People
- Search for users
- Click Assign next to each user
- Click Save and Go Back
- Click Done
Assign to Groups (recommended for bulk assignment):
- Click Assign → Assign to Groups
- Search for groups (e.g., "Everyone", "Engineering")
- Click Assign next to each group
- Click Done
Part 6: Test SSO
Step 1: Test from Okta Dashboard
- Log in to Okta as a test user
- Navigate to your dashboard
- Click on the Signia SSO app tile
Step 2: Verify Redirect
You should be redirected to:
https://<your-tenant>.signiaauth.com/saml/sso?SAMLRequest=...
Step 3: Authenticate with Signia
- Signia displays authentication UI
- Authenticate with:
- WebAuthn/Passkey (Face ID, Touch ID, security key)
- Or email/password (if enabled)
Step 4: Verify Success
After authentication:
- You're redirected back to Okta
- You're logged in to Okta (session created)
- You can access Okta applications
Step 5: Check User Profile
In Okta:
- Click your name (top right)
- Click Settings
- Verify profile attributes are populated:
- First Name
- Last Name
Troubleshooting
"SAML assertion audience mismatch"
Cause: Entity ID mismatch between Okta and Signia
Solution:
- Check Okta Audience URI (SP Entity ID)
- Compare with Entity ID in Signia Service Provider configuration
- They must match exactly (case-sensitive)
"Unable to sign in"
Cause 1: User not assigned to SAML app
Solution:
- Navigate to Assignments tab
- Verify user is assigned
- Assign if missing
Cause 2: Network connectivity
Solution:
- Check Okta status page: https://status.okta.com
- Verify Signia SSO URL is reachable from your network
"Invalid signature"
Cause: Certificate mismatch or clock skew
Solution:
- Re-upload Signia metadata to Okta
- Verify certificate fingerprint matches dashboard
- Check system clock synchronization:
# Both systems should be within 5 minutes
date -u
"Error: SAML transaction expired"
Cause: User took >10 minutes to authenticate
Solution: Retry SSO flow and complete authentication promptly
Advanced Configuration
Just-in-Time (JIT) Provisioning
Automatically create Okta users on first SSO login.
- Navigate to Sign On tab
- Scroll to Credentials Details
- Click Edit
- Enable Just-in-Time (JIT) Provisioning
- Configure:
- Create users: ✓
- Update user attributes: ✓
- Deactivate users: ✓ (optional)
- Click Save
Force Re-Authentication
Force users to authenticate even if they have an active Signia session.
- In Signia dashboard
- Edit the Okta Service Provider
- Set Force Authentication: ✓ (future feature)
Note: Okta may send ForceAuthn=true in AuthnRequest. Signia maps this to OIDC prompt=login.
Custom Attribute Mapping
Map additional user attributes to Okta profile.
In Signia (future feature):
- Navigate to Service Provider configuration
- Add attribute mappings:
department→user.departmentphone→user.mobilePhone
In Okta:
- Navigate to Sign On tab → Edit
- Add attribute statements in SAML settings
- Map to Okta user profile fields
Security Recommendations
Enable Multi-Factor Authentication
Add additional security layer beyond Signia authentication.
- Navigate to Security → Multifactor
- Enable MFA policies
- Configure factor types (SMS, Okta Verify, etc.)
Monitor SSO Activity
Track authentication events for security and compliance.
- Navigate to Reports → System Log
- Filter by:
- Event Type:
user.authentication.sso - Application: "Signia SSO"
- Event Type:
Certificate Rotation
When Signia certificate expires:
- Download new metadata from Signia
- Upload to Okta (Sign On tab → Edit → Upload metadata)
- Verify new certificate fingerprint
- Test SSO flow