Scale Plan20 minutesadvanced

OAuth/OIDC SSO Setup

Configure OAuth 2.0 or OpenID Connect SSO for Zenovay - modern authentication for cloud identity providers.

oauthoidcssoauthenticationenterprise
Last updated: February 6, 2026
Scale Plan

Configure OAuth 2.0 or OpenID Connect (OIDC) for single sign-on. Modern alternative to SAML for cloud-native identity providers.

SAML vs OAuth/OIDC

FeatureSAMLOAuth/OIDC
ProtocolXML-basedJSON/REST
Token FormatXML assertionJWT
Best ForEnterprise IdPsCloud apps
Mobile SupportLimitedExcellent
Setup ComplexityHigherLower
Auto-DiscoveryNoYes (OIDC)

If your identity provider supports OpenID Connect, choose OIDC over OAuth 2.0 — it provides stronger security with automatic ID token verification and simpler configuration via auto-discovery.

Supported Providers

ProviderProtocol
Microsoft Entra ID (Azure AD)OIDC
OktaOIDC
Auth0OIDC
KeycloakOIDC
CustomOAuth 2.0 / OIDC

Zenovay OAuth/OIDC Configuration

Redirect URI

Your identity provider will need this redirect URI:

SettingValue
Redirect URI / Callback URLhttps://auth.zenovay.com/api/sso/oauth/callback

Required Scopes

Zenovay requires these scopes:

openid
email
profile

Choosing Between OAuth 2.0 and OpenID Connect

FeatureOAuth 2.0OpenID Connect
ConfigurationEnter all endpoint URLs manuallyAuto-discovery via Issuer URL
ID Token verificationNot applicableAutomatic via JWKS
Fields neededClient ID, Client Secret, Auth URL, Token URL, UserInfo URLClient ID, Client Secret, Issuer URL
Best forIdPs without OIDC supportModern IdPs (Okta, Entra ID, Auth0, Keycloak)

Microsoft Entra ID OIDC Setup

Step 1: Register Application

  1. Sign in to the Microsoft Entra admin center
  2. Go to IdentityApplicationsApp registrations
  3. Click New registration
  4. Configure:
Entra ID FieldValue
NameZenovay
Supported account typesAccounts in this organizational directory only
Redirect URIWeb — https://auth.zenovay.com/api/sso/oauth/callback
  1. Click Register

Step 2: Create Client Secret

  1. Go to Certificates & secrets
  2. Click New client secret
  3. Set description and expiration
  4. Copy the secret value immediately (it will not be shown again)

Step 3: Note Application Details

Record these values:

  • Application (client) ID — from the Overview page
  • Client Secret — from Step 2
  • Tenant ID — from the Overview page

Step 4: API Permissions

  1. Go to API permissions
  2. Verify Microsoft GraphUser.Read (delegated) is listed
  3. If not, click Add a permissionMicrosoft GraphDelegated permissionsUser.Read

Step 5: Configure in Zenovay

  1. Go to SettingsAuthenticationSSO
  2. Click Add SSO Provider and select OpenID Connect
  3. Enter:
    • Name: e.g., "Microsoft Entra ID"
    • Client ID: the Application (client) ID from Step 3
    • Client Secret: the secret value from Step 2
    • Issuer URL: https://login.microsoftonline.com/{your-tenant-id}/v2.0
  4. Click Save
  5. Add and verify your email domain
  6. Test the connection

Okta OIDC Setup

Step 1: Create Application

  1. Go to Okta Admin Console → Applications
  2. Click Create App Integration
  3. Select OIDC - OpenID Connect
  4. Select Web Application
  5. Click Next

Step 2: Configure Application

Okta FieldValue
App integration nameZenovay
Grant typeAuthorization Code
Sign-in redirect URIshttps://auth.zenovay.com/api/sso/oauth/callback

Step 3: Assign Users

  1. Go to the Assignments tab
  2. Assign users or groups
  3. Save

Step 4: Get Credentials

From the General tab, note:

  • Client ID
  • Client Secret

Step 5: Get Issuer URL

  1. Go to SecurityAPI in the Okta Admin Console
  2. Find your authorization server (usually "default")
  3. The Issuer URI will look like: https://your-org.okta.com/oauth2/default

Step 6: Configure in Zenovay

  1. Go to SettingsAuthenticationSSO
  2. Click Add SSO Provider and select OpenID Connect
  3. Enter:
    • Name: e.g., "Okta"
    • Client ID: from Step 4
    • Client Secret: from Step 4
    • Issuer URL: from Step 5
  4. Click Save
  5. Add and verify your email domain
  6. Test the connection

Auth0 Setup

Step 1: Create Application

  1. Go to Auth0 Dashboard
  2. Go to ApplicationsCreate Application
  3. Choose Regular Web Applications
  4. Click Create

Step 2: Configure Settings

In the Settings tab:

Auth0 FieldValue
Allowed Callback URLshttps://auth.zenovay.com/api/sso/oauth/callback

Click Save Changes.

Step 3: Get Credentials

From the Settings tab, note:

  • Domain (e.g., your-tenant.us.auth0.com)
  • Client ID
  • Client Secret

Step 4: Configure in Zenovay

  1. Go to SettingsAuthenticationSSO
  2. Click Add SSO Provider and select OpenID Connect
  3. Enter:
    • Name: e.g., "Auth0"
    • Client ID: from Step 3
    • Client Secret: from Step 3
    • Issuer URL: https://your-tenant.us.auth0.com/ (include trailing slash)
  4. Click Save
  5. Add and verify your email domain
  6. Test the connection

The Auth0 Issuer URL must include the trailing slash. For example: https://dev-xxxxx.us.auth0.com/

Google Workspace

Google Workspace primarily supports SAML 2.0 for custom application integration. For Google Workspace SSO, we recommend using the SAML 2.0 setup guide instead.

If you specifically need OIDC with Google, you can create OAuth credentials in the Google Cloud Console:

  1. Go to Google Cloud ConsoleAPIs & ServicesCredentials
  2. Click Create CredentialsOAuth client ID
  3. Select Web application and enter https://auth.zenovay.com/api/sso/oauth/callback as the redirect URI
  4. Note the Client ID and Client Secret
  5. In Zenovay, add an OpenID Connect provider with Issuer URL: https://accounts.google.com

Custom OIDC Provider

If your identity provider supports OpenID Connect Discovery:

  1. Go to SettingsAuthenticationSSO
  2. Click Add SSO Provider and select OpenID Connect
  3. Enter:
    • Name: your provider name
    • Client ID: from your IdP
    • Client Secret: from your IdP
    • Issuer URL: your IdP's issuer URL (e.g., https://your-idp.com)
  4. Click Save

Zenovay will automatically discover your IdP's authorization, token, userinfo, and JWKS endpoints via the .well-known/openid-configuration document.

Custom OAuth 2.0 Provider

If your identity provider does not support OIDC auto-discovery, use OAuth 2.0 with manual endpoint configuration:

  1. Go to SettingsAuthenticationSSO
  2. Click Add SSO Provider and select OAuth 2.0
  3. Enter:
    • Name: your provider name
    • Client ID: from your IdP
    • Client Secret: from your IdP
    • Authorization URL: your IdP's authorization endpoint
    • Token URL: your IdP's token endpoint
    • User Info URL: your IdP's user info endpoint
  4. Click Save

Completing Setup

Verify Domain

After saving your SSO provider:

  1. Click Add Domain
  2. Enter your email domain (e.g., company.com)
  3. Follow the DNS verification steps
  4. Once verified, users with that domain will be directed to SSO

Test Connection

  1. Open an incognito/private browser window
  2. Go to auth.zenovay.com
  3. Enter an email from your verified domain
  4. Authenticate with your IdP
  5. Verify successful return to the Zenovay dashboard

Enable SSO

  1. Toggle Enforce SSO to on
  2. Set enforcement:
    • Optional: users can choose SSO or password login
    • Required: all users must use SSO
  3. Save configuration

Before enforcing SSO, ensure at least one Owner account can still sign in via email/password as a backup in case of an IdP outage.

User Attribute Mapping

Standard Claims

OIDC ClaimZenovay Field
emailEmail address
given_nameFirst name
family_nameLast name
subUnique identifier

Just-In-Time Provisioning

Auto-Create Users

New users are automatically created on first SSO login:

  • Automatic account creation
  • Default role assigned (Viewer)
  • No invitation needed

Security Features

Zenovay automatically applies these security measures for OAuth/OIDC:

  • PKCE (Proof Key for Code Exchange) — protects the authorization code exchange
  • Signed state parameter — prevents CSRF attacks
  • Nonce validation (OIDC) — prevents token replay attacks
  • ID token verification (OIDC) — validates tokens using the IdP's JWKS endpoint

Troubleshooting

Common Errors

ErrorCauseSolution
Invalid redirect_uriURL mismatchEnsure redirect URI is exactly https://auth.zenovay.com/api/sso/oauth/callback
Invalid client_idWrong credentialVerify client ID in your IdP dashboard
Invalid grantCode expiredTry again — authorization codes are short-lived
Token verification failedSignature failureVerify JWKS endpoint is accessible
State parameter mismatchSession issueClear cookies and try in an incognito window
OIDC discovery failedIssuer URL issueTest {issuer-url}/.well-known/openid-configuration in your browser

Certificate Issues

If JWKS fails:

  • Check JWKS URL is accessible
  • Verify SSL certificate is valid
  • Check for firewall blocks

Security Considerations

Secret Management

  • Store client secret securely
  • Rotate secrets before they expire
  • Never expose secrets in client-side code

Scope Limitations

Request minimal scopes:

  • Only openid, email, profile
  • Don't request unnecessary access

Redirect URI Validation

  • Use exact match validation in your IdP
  • Don't use wildcards
  • HTTPS required

Next Steps

Was this article helpful?