Skip to main content

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

  1. Log in to Signia ID dashboard (https://signiaid.com)
  2. Select your tenant from the dropdown
  3. Navigate to SAML in the left sidebar
  4. 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

  1. Log in to Okta Admin Console (https://<your-okta-domain>.okta.com/admin)
  2. Navigate to ApplicationsApplications
  3. Click Create App Integration
  4. 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:

NameName formatValue
emailUnspecifieduser.email
firstNameUnspecifieduser.firstName
lastNameUnspecifieduser.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:

  1. Navigate to the Sign On tab
  2. Under SAML 2.0, find Metadata URL
  3. 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

  1. Log in to Signia ID dashboard
  2. Navigate to SAMLService Providers
  3. 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

  1. In Okta Admin Console
  2. Navigate to ApplicationsApplications
  3. Click on your SAML app (e.g., "Signia SSO")
  4. Click Sign On tab

Step 2: Edit SAML Settings

  1. Scroll to SAML 2.0
  2. 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

  1. In your Okta SAML app
  2. Click Assignments tab

Step 2: Assign Users or Groups

Assign to People:

  1. Click AssignAssign to People
  2. Search for users
  3. Click Assign next to each user
  4. Click Save and Go Back
  5. Click Done

Assign to Groups (recommended for bulk assignment):

  1. Click AssignAssign to Groups
  2. Search for groups (e.g., "Everyone", "Engineering")
  3. Click Assign next to each group
  4. Click Done

Part 6: Test SSO

Step 1: Test from Okta Dashboard

  1. Log in to Okta as a test user
  2. Navigate to your dashboard
  3. 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

  1. Signia displays authentication UI
  2. 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:

  1. Click your name (top right)
  2. Click Settings
  3. Verify profile attributes are populated:
    • Email
    • First Name
    • Last Name

Troubleshooting

"SAML assertion audience mismatch"

Cause: Entity ID mismatch between Okta and Signia

Solution:

  1. Check Okta Audience URI (SP Entity ID)
  2. Compare with Entity ID in Signia Service Provider configuration
  3. They must match exactly (case-sensitive)

"Unable to sign in"

Cause 1: User not assigned to SAML app

Solution:

  1. Navigate to Assignments tab
  2. Verify user is assigned
  3. Assign if missing

Cause 2: Network connectivity

Solution:

"Invalid signature"

Cause: Certificate mismatch or clock skew

Solution:

  1. Re-upload Signia metadata to Okta
  2. Verify certificate fingerprint matches dashboard
  3. 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.

  1. Navigate to Sign On tab
  2. Scroll to Credentials Details
  3. Click Edit
  4. Enable Just-in-Time (JIT) Provisioning
  5. Configure:
    • Create users: ✓
    • Update user attributes: ✓
    • Deactivate users: ✓ (optional)
  6. Click Save

Force Re-Authentication

Force users to authenticate even if they have an active Signia session.

  1. In Signia dashboard
  2. Edit the Okta Service Provider
  3. 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):

  1. Navigate to Service Provider configuration
  2. Add attribute mappings:
    • departmentuser.department
    • phoneuser.mobilePhone

In Okta:

  1. Navigate to Sign On tab → Edit
  2. Add attribute statements in SAML settings
  3. Map to Okta user profile fields

Security Recommendations

Enable Multi-Factor Authentication

Add additional security layer beyond Signia authentication.

  1. Navigate to SecurityMultifactor
  2. Enable MFA policies
  3. Configure factor types (SMS, Okta Verify, etc.)

Monitor SSO Activity

Track authentication events for security and compliance.

  1. Navigate to ReportsSystem Log
  2. Filter by:
    • Event Type: user.authentication.sso
    • Application: "Signia SSO"

Certificate Rotation

When Signia certificate expires:

  1. Download new metadata from Signia
  2. Upload to Okta (Sign On tab → EditUpload metadata)
  3. Verify new certificate fingerprint
  4. Test SSO flow

Next Steps