Prerequisites
- Admin access to your Modelcode organization, signed in with email and password — the SSO settings page is not available to users who signed in with a social provider (GitHub, GitLab, Microsoft)
- An identity provider that supports SAML 2.0 (e.g., Okta, OneLogin, PingFederate, ADFS, Azure AD)
- Privileges in your identity provider to create and edit applications and policies
Step 1: Get Modelcode’s Service Provider Details
Before configuring your identity provider, you need two values from Modelcode:
To get these values:
- Navigate to Single Sign-On in the Modelcode sidebar
- Click Setup SSO and select SAML 2.0
- The ACS URL and SP Entity ID are displayed at the top of the form — copy them for use in your identity provider
If you don’t see these values yet, navigate to the SSO settings page and select SAML 2.0 — they are displayed on the form.
Step 2: Create a SAML Application in Your Identity Provider
In your identity provider, create a new SAML 2.0 application and configure it with:- ACS URL (also called “Reply URL” or “Single Sign-On URL”): Paste the ACS URL from Modelcode
- Entity ID (also called “Audience URI” or “Identifier”): Paste the SP Entity ID from Modelcode
- Name ID Format:
EmailAddress(Modelcode matches users by email) - Binding: HTTP-POST (preferred) or HTTP-Redirect
- Metadata URL — A URL that publishes your IdP’s SAML metadata XML (recommended)
- Or the following individual values:
- SSO URL — The IdP’s Single Sign-On endpoint
- Entity ID — The IdP’s entity identifier
- Signing Certificate — The X.509 certificate used to sign SAML assertions
Step 3: Configure SAML in Modelcode
- In Modelcode, navigate to Single Sign-On in the sidebar
- Click Setup SSO (or Edit if updating)
- Select SAML 2.0 as the protocol
- Choose your configuration method:
- Metadata URL (Recommended)
- Manual Configuration
Enter the Metadata URL from your identity provider. Modelcode automatically extracts the SSO URL, Entity ID, and Signing Certificate from the metadata XML.
- Click Verify & Save
Step 4: Invite Users and Share the Portal Link
Before users can sign in via SSO, they must be invited to Modelcode:- Go to the Members page in Modelcode and invite each user who needs SSO access
- Copy the Portal Link from the Single Sign-On settings page and share it with your team:
Supported SAML Providers
Any provider that supports SAML 2.0 with HTTP-POST or HTTP-Redirect binding works with Modelcode. Common providers include:- Okta — See the Okta guide for step-by-step instructions
- OneLogin
- PingFederate / PingOne
- Microsoft ADFS
- Azure AD / Microsoft Entra ID (also supports OIDC)
- Google Workspace (also supports OIDC)
Troubleshooting
”Verification failed” when saving with a Metadata URL
- Confirm the URL uses HTTPS and is publicly reachable
- Verify the URL returns a valid SAML metadata XML document
- Check that the metadata contains a
SingleSignOnServiceelement with an HTTP-POST or HTTP-Redirect binding
”Verification failed” when saving with manual configuration
- Confirm the SSO URL uses HTTPS and is reachable
- Verify the Entity ID matches what your identity provider reports
- Check that the Signing Certificate is a valid X.509 certificate in PEM format
Users see an error after authenticating with the IdP
- Verify the ACS URL in your identity provider exactly matches the value shown in Modelcode
- Confirm the SP Entity ID in your identity provider matches the value shown in Modelcode
- Check that the Name ID Format is set to
EmailAddressin your IdP - Ensure the user’s email address in your identity provider matches their Modelcode account email
- Users must be invited to the organization before they can sign in via SSO — SSO does not allow self-registration
- The user’s email in the identity provider must be verified — unverified emails are rejected
SAML assertion signature validation fails
- The signing certificate in Modelcode may be outdated. If your IdP rotated certificates, update the certificate in the Modelcode SSO settings (or re-import via metadata URL)