Enterprise SSO lets your team sign in to DevStride with their company account through Microsoft Entra ID, Okta, or another compatible identity provider.
The setup follows a simple pattern: exchange settings → verify your domain → test sign-in → roll out. You'll work in DevStride, your identity provider's admin portal, and your domain's DNS settings:
Using Microsoft Entra? Start with the prerequisites below, then follow the Microsoft Entra ID walkthrough. It tells you what to copy in each direction and when to return to DevStride.
Have these ready:
acme.com.In DevStride, open Configure Settings → Integrations → Identity Providers. Keep this page open in one tab and your identity provider's admin portal in another.
Start in DevStride. The Give these to your provider panel on the Identity Providers page contains the connection details to copy into your identity provider. These values belong to the DevStride environment you are using, so copy them from the product.
Choose one protocol. OIDC is recommended for a new Entra or Okta connection. Use SAML if your organization requires it. The protocol cannot be changed after you create a provider in DevStride.
OIDC (OpenID Connect) uses a redirect address and application credentials:
| Direction | What to copy |
|---|---|
| DevStride → identity provider | Redirect URI: where the provider returns the user after sign-in. |
| Identity provider → DevStride | Issuer URL, Client ID, and Client Secret. The secret can be up to 200 characters. |
Follow the Entra OIDC steps or Okta instructions. For another provider, create a web/OIDC application and use its tenant-specific issuer.
https://login.microsoftonline.com/<your-tenant-guid>/v2.0. It rejects /common, /organizations, /consumers, and the shared personal-accounts tenant. It also rejects Google's shared accounts.google.com issuer for Enterprise SSO; use DevStride's built-in Google sign-in for Google accounts.SAML uses two DevStride values and a metadata document describing your identity provider:
| Direction | What to copy |
|---|---|
| DevStride → identity provider | ACS URL: where the provider sends the sign-in response. Also called a Reply URL or Assertion Consumer Service URL. |
| DevStride → identity provider | SP Entity ID: the identifier for DevStride. Also called an Identifier, Entity ID, or Audience URI. |
| Identity provider → DevStride | Metadata URL or the downloaded metadata XML. |
Follow the Entra SAML steps or Okta instructions. For another provider, create a SAML application with the values above and export its metadata.
Complete the instructions for your provider and chosen protocol, then continue to Step 2.
Your route through setup: copy DevStride's values → configure an Entra application → allow your test user access → bring Entra's settings back to DevStride → verify DNS → test sign-in.
Open the Entra admin center and confirm you are in your organization's correct tenant (its Entra directory). If a menu is hard to find, search for App registrations or Enterprise apps using the portal's search bar.
Choose one path:
| Protocol | Start here | Copy from DevStride | Bring back to DevStride |
|---|---|---|---|
| OIDC (recommended) | Entra ID → App registrations | Redirect URI | Issuer URL, Client ID, Client Secret |
| SAML 2.0 | Entra ID → Enterprise apps | ACS URL, SP Entity ID | App Federation Metadata Url |
For OIDC, an app registration also creates an enterprise application in the same tenant. You configure credentials in App registrations and user access in Enterprise apps. For SAML, work in Enterprise apps throughout.
DevStride. Under Supported account types, choose the single-tenant option for your directory. Depending on the portal version, this is labeled Single tenant only or Accounts in this organizational directory only. Select Register. Microsoft's registration guide.https://login.microsoftonline.com/<your-tenant-guid>/v2.0
openid, email, and profile scopes. Entra only returns an email claim when the user has an email address associated with their account, so confirm your test user's email is populated and matches their DevStride membership. A sign-in username that looks like an email address is not sufficient on its own. Microsoft's email-scope guidance.Ready to continue: you have the Issuer URL, Client ID, and secret Value. Skip the SAML path and check user access.
DevStride, select Integrate any other application you don't find in the gallery (Non-gallery), and select Create.| Entra field | Paste from DevStride |
|---|---|
| Identifier (Entity ID) — select Add identifier if needed | SP Entity ID |
| Reply URL (Assertion Consumer Service URL) — select Add reply URL if needed | ACS URL |
emailaddress claim uses user.mail and that your test user's mail value matches their DevStride email. DevStride's default SAML mapping expects the full claim name http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress.user.mail is empty, have the directory admin populate it. Use user.userprincipalname as the claim's source only if it is the actual email address used in DevStride. Changing Name ID alone does not supply the email attribute. If you use a custom claim name, enter that exact name in DevStride's Attribute Mapping in Step 2. Microsoft's claims guide.Ready to continue: you have your application's metadata URL or XML. Check user access below before returning to DevStride.
DevStride application, and open Properties. For OIDC, match the Application ID to the client ID you recorded if several apps have the same name.Use an ordinary assigned member for your final test. Entra Global Administrators can bypass the assignment requirement, so an administrator's successful login alone does not prove that members have access.
Entra setup is complete. Continue to Step 2: Add the provider in DevStride, then verify the domain and test from DevStride's sign-in page.
OIDC: open Applications → Create App Integration → OIDC → Web Application.
| Field | What to use |
|---|---|
| Sign-in redirect URI | DevStride's Redirect URI. |
| Client ID and Client secret | The application's General tab, under Client Credentials. |
| Issuer URL | Your Okta org URL, such as https://your-company.okta.com, for the org authorization server. If you use a custom authorization server, copy its Issuer URI from Security → API → Authorization Servers. Okta's issuer guidance. |
SAML: open Applications → Create App Integration → SAML 2.0.
| Field | What to use |
|---|---|
| Single sign-on URL | DevStride's ACS URL. |
| Audience URI (SP Entity ID) | DevStride's SP Entity ID. |
| Metadata URL | After saving, open Sign On and copy the Identity Provider metadata link. |
Assign the application to the people who need access, then continue below.
Return to Configure Settings → Integrations → Identity Providers, select Add Identity Provider, and complete the dialog:
| Field | What to enter |
|---|---|
| Display Name | A recognizable name, such as Acme Microsoft Entra. |
| Protocol | The protocol you configured. SAML 2.0 is selected by default, so switch to OIDC if you followed that path. This choice is permanent. |
| Metadata Source (SAML) | Choose Metadata URL or Metadata XML, then paste the metadata from your provider. |
| Issuer URL, Client ID, Client Secret (OIDC) | The three values you collected. For Entra, use the secret's Value. |
| Attribute Mapping | Leave the defaults for standard Entra claims. If you customized claims, the left field is the DevStride attribute and the right field is the exact claim/assertion name sent by your provider. |
| Claimed Email Domains | Your members' email domains, such as acme.com. The organization's domain may already be filled in. To add another, type the domain and press Enter — or simply leave it typed in the box: Create and Save claim any domain still in the field. |
Select Create. Wait for Status to show active. If it shows failed, correct the settings with Edit, then select Resync.
An active provider is configured, but it will not route sign-ins until a domain is verified in Step 3.
email_verified mapping when you save an OIDC provider. This is expected; you do not need to add it back or create an Entra claim for it. Enterprise SSO uses the domain verification below.acme.com, the full name is _devstride-challenge.acme.com. Use your own displayed value; it is unique to this claim.If you are editing the acme.com zone and the editor appends that domain automatically, enter only _devstride-challenge in its Name or Host field. If it expects a full name, enter _devstride-challenge.acme.com.
After saving, confirm the resulting full name matches DevStride exactly. Avoid a doubled name such as _devstride-challenge.acme.com.acme.com. Copy the entire TXT Value unchanged.
DNS changes may take a few minutes or longer to become visible. Retry Check DNS after propagation. If verification keeps failing, check the record's full name and value. You can inspect the published record with:
# macOS / Linux — replace acme.com with your domain
dig +short TXT _devstride-challenge.acme.com
On Windows, use nslookup -type=TXT _devstride-challenge.acme.com.
A verified acme.com claim does not cover subdomains such as mail.acme.com; verify each email domain you use. Only one provider can hold a verified claim on a domain. DevStride does not recheck the TXT record after verification, so you may remove it then. Deleting and re-creating a provider requires a new record and a new verification.
Keep your current admin session open and use a private / incognito window for the test.
For this first test, use an active existing member with an accepted invitation and access to the Entra application. Automatic member creation is still off. If Entra already has a session, it may not ask for credentials again.
If sign-in fails, use Troubleshooting. Confirm this test succeeds before enabling the rollout options below.
Automatic member provisioning, also called just-in-time (JIT) provisioning, creates a DevStride account when an eligible person signs in through SSO for the first time. Leave it off if you want to invite members yourself.
After verifying at least one domain:
If you leave the role blank, DevStride uses the organization's default invite role. If no default exists, you must choose a role here. Owner cannot be a provisioning role.
Provisioning only creates members whose email domain is verified for this provider. Entra assignment controls still apply. This setting does not enable SCIM or automatic removal of departing employees.
Tell members to enter their work email on the DevStride sign-in page and select Sign in with SSO. DevStride finds the provider for their email domain and sends them to their company's sign-in page.
Existing members keep their DevStride account, work, and permissions when their corporate identity is linked. An unaccepted invitation must be accepted using their existing sign-in method first.
SSO is an additional sign-in method by default. Members with a DevStride password can still use it until you require single sign-on.
Signing out of DevStride does not sign the member out of their identity provider. To end both sessions, they must sign out of both systems.
After testing SSO for an ordinary member, open Login policy → Require single sign-on on the Identity Providers page. Turn it on and confirm to block password and social sign-in for your organization.
Enterprise SSO does not pass through DevStride's own MFA challenge. If Require multi-factor authentication is on in DevStride, federated sign-in is blocked, even if the member completed MFA in Entra.
For SSO with MFA, enforce MFA at your identity provider and turn off DevStride's own MFA requirement. Coordinate that change with your identity administrator so the provider's MFA policy is in place first.
The member-facing error is Your organization doesn't allow signing in with your identity provider. If the connection appears correct, check this setting.
| Status | Meaning and action |
|---|---|
| active | Configuration is registered. Verified domains can route sign-ins; test a real login to confirm the connection works. |
| pending | An update is in progress. |
| failed | Registration or synchronization failed. Review the error, correct the settings with Edit, then select Resync. |
Resync registers the provider's current configuration with the sign-in platform again. Use it after correcting a failed configuration.
For Entra OIDC, replace the client secret before it expires: create a new secret in Entra, copy its Value into Client Secret when editing the provider in DevStride, save, and test sign-in before removing the old secret. Leaving the field blank during an edit keeps the current secret.
For SAML, track the signing certificate's expiry in Entra and coordinate certificate renewal with your identity administrator. If you supplied metadata XML, update it when the provider's certificate or metadata changes.
On the Identity Providers page, select Delete beside the provider and confirm. There is no separate disable switch.
If SSO is required, add another working provider or turn off Require single sign-on before deleting the last working provider.
Re-creating a provider requires fresh DNS verification, and automatic provisioning starts off again. The Entra application can be reused for the same protocol and DevStride environment: its redirect URI, or SAML ACS URL and SP Entity ID, remain the same. Test sign-in again after rebuilding the connection.
Start with where the failure appears: Entra errors concern the application, credentials, access, or tenant policies; a DevStride error can also indicate domain routing, membership, or login policy.
| Symptom | What to check |
|---|---|
| We could not start single sign-on for that email address | Confirm the email's exact domain is verified on an active provider. This message can also indicate a temporary service problem. |
| Entra AADSTS50011 (reply/redirect URL mismatch) | Compare the configured address with DevStride's Give these to your provider panel. Use Redirect URI for OIDC and ACS URL for SAML. |
| Entra AADSTS50105 (user not assigned) | Assign the member under Enterprise apps → DevStride → Users and groups. |
| Entra AADSTS7000215 (invalid client secret) or AADSTS7000222 (expired secret) | Use the current secret's Value. If you no longer have it or it expired, create a new secret and update the DevStride provider. |
| Entra Need admin approval or a consent error | Ask an authorized Entra admin to review and grant the required sign-in permissions. |
| Entra blocks sign-in under a tenant policy | Ask your Entra admin to review the application's sign-in logs and applicable access/MFA policies. |
| Missing email or account does not match | Confirm Entra sends the member's actual DevStride email. For SAML, check emailaddress and its source; for OIDC, check the user's email and the email claim. |
| A Microsoft Entra issuer must name YOUR tenant by GUID… | Use https://login.microsoftonline.com/<your-tenant-guid>/v2.0. |
| Provider status is failed | Read the error, correct the configuration with Edit, then Resync. |
| Check DNS finds nothing | Check propagation and the final TXT name: _devstride-challenge.<your-domain>. Watch for a duplicated domain suffix. |
| That email domain is already claimed by another identity provider. | Another provider has verified the domain. If your organization owns it, contact DevStride support. |
| Automatic provisioning cannot be enabled | Verify a domain first, then edit the provider. |
| This account isn't linked to a DevStride account | Invite the member, or enable automatic provisioning after verifying the domain. |
| You have a pending invitation to this organization | Accept the invitation using the existing sign-in method, then retry SSO. |
| This account isn't active yet | Confirm the email address or ask your administrator to check whether the account was deactivated. |
| Your organization doesn't allow signing in with your identity provider | Check DevStride's Require multi-factor authentication setting and your organization's login policy. |
See Microsoft's error-code reference for other Entra errors. When contacting support, include the error code and the failed attempt's time, but never a client secret.