Generic OIDC SSO
Configure Single Sign-On with any OpenID Connect compliant identity provider.Overview
NeuralTrust supports authentication with any OIDC-compliant identity provider, giving you flexibility to use your existing identity infrastructure. Compatible providers include:- Okta
- Auth0
- Google Workspace
- PingIdentity
- OneLogin
- Keycloak
- Any OIDC 1.0 compliant provider
Prerequisites
Before configuring Generic OIDC SSO, ensure you have:- NeuralTrust Account: Owner role in your team
- OIDC Provider: Administrator access to create applications
- Discovery Endpoint: Your provider must support OIDC Discovery (
.well-known/openid-configuration)
Configuration Fields
| Field | Required | Description |
|---|---|---|
| Issuer URL | Yes | The base URL of your OIDC provider (e.g., https://your-tenant.okta.com) |
| Client ID | Yes | The application/client ID from your identity provider |
| Client Secret | Yes | The client secret (stored encrypted) |
| Display Name | No | Custom name shown on the login button (e.g., “Sign in with Okta”) |
| Scopes | No | OAuth scopes to request (default: openid profile email) |
Setup Steps
Step 1: Create an Application in Your Identity Provider
- Log in to your identity provider’s admin console
- Create a new Web Application or OIDC Application
- Configure the following settings:
| Setting | Value |
|---|---|
| Sign-in redirect URI | https://app.neuraltrust.ai/api/auth/callback/oidc |
| Sign-out redirect URI | https://app.neuraltrust.ai (optional) |
| Grant types | Authorization Code |
| Scopes | openid, profile, email |
Step 2: Copy Credentials
From your identity provider, copy:- Issuer URL (or Discovery URL without
/.well-known/openid-configuration) - Client ID
- Client Secret
Step 3: Configure in NeuralTrust
- Navigate to Settings → SSO
- Click the Generic OIDC tab
- Click Edit to enable editing mode
- Enter your credentials:
- Issuer URL: Paste your issuer URL
- Click Validate to verify the OIDC discovery endpoint
- Client ID: Paste your client ID
- Client Secret: Paste your client secret
- Display Name: (Optional) Custom button text
- Scopes: (Optional) Additional scopes if needed
- Click Save
Step 4: Verify Email Domains
After configuring OIDC:- Scroll down to Email Domains section
- Add your corporate email domain(s)
- Complete DNS verification (see Email Domain Verification below)
Step 5: Configure Break Glass Users (Recommended)
Before enforcing SSO:- In the Generic OIDC tab, find the Break Glass Users section
- Add 1-3 administrator emails who can log in with password during emergencies
- Click Save
Break Glass Users are configured per SSO provider. If you have both Microsoft Entra ID and Generic OIDC, each has its own Break Glass configuration.
Step 6: Enable SSO Enforcement (Optional)
When ready to require SSO for all users:- Enable the Enforce SSO toggle
- Confirm the warning about password login being disabled
- Users will now be required to authenticate via your OIDC provider
Email Domain Verification
Verify ownership of your email domains to enable secure user auto-discovery.Why Domain Verification?
Domain verification prevents malicious actors from claiming email domains they don’t own:- ✅ Only domain owners can use the domain for SSO
- ✅ Users with verified domains can auto-discover their team
- ✅ Compliance requirements are met
Setup Steps
Step 1: Add Your Domain- Scroll to the Email Domains section (appears after SSO is configured)
- Enter your domain (e.g.,
yourcompany.com) - Click Add
| Type | Host/Name | Value |
|---|---|---|
| TXT | @ | neuraltrust-verify-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| Provider | Steps |
|---|---|
| Cloudflare | DNS → Add record → TXT → Name: @ → Content: token |
| GoDaddy | DNS Management → Add → TXT → Host: @ → TXT Value: token |
| AWS Route53 | Create record → TXT → Record name: (empty) → Value: token |
| Google Domains | DNS → Custom records → TXT → Host: (empty) → Data: token |
- Wait 5-15 minutes for DNS propagation (can take up to 48 hours)
- Click the Verify button next to your domain
- If successful: Status changes to Verified ✓
Verification Status
| Status | Meaning | Action |
|---|---|---|
| Pending ⏳ | Awaiting DNS verification | Add TXT record and click Verify |
| Verified ✓ | Domain ownership confirmed | Domain is active for SSO |
| Failed ✗ | Verification unsuccessful | Check DNS record and retry |
Provider-Specific Guides
Okta
Okta
- Go to Applications → Create App Integration
- Select OIDC - OpenID Connect and Web Application
- Configure:
- Sign-in redirect URI:
https://app.neuraltrust.ai/api/auth/callback/oidc - Assignments: Assign users/groups who should access NeuralTrust
- Sign-in redirect URI:
- Copy Client ID and Client Secret from the application settings
- Your Issuer URL is:
https://your-org.okta.com
Auth0
Auth0
- Go to Applications → Create Application
- Select Regular Web Applications
- In Settings:
- Allowed Callback URLs:
https://app.neuraltrust.ai/api/auth/callback/oidc
- Allowed Callback URLs:
- Copy Domain (this is your Issuer URL with
https://), Client ID, and Client Secret
Google Workspace
Google Workspace
- Go to Google Cloud Console → APIs & Services → Credentials
- Create OAuth 2.0 Client ID (Web application)
- Add Authorized redirect URI:
https://app.neuraltrust.ai/api/auth/callback/oidc - Copy Client ID and Client Secret
- Issuer URL:
https://accounts.google.com
Keycloak
Keycloak
- Go to your Keycloak admin console
- Create a new Client with:
- Client type: OpenID Connect
- Valid redirect URIs:
https://app.neuraltrust.ai/api/auth/callback/oidc
- Copy Client ID from General Settings
- Go to Credentials tab and copy Client Secret
- Issuer URL:
https://your-keycloak-domain/realms/your-realm
Troubleshooting
| Error | Solution |
|---|---|
Invalid issuer | Verify the Issuer URL is correct and supports OIDC Discovery |
Client authentication failed | Check Client ID and Client Secret are correct |
Redirect URI mismatch | Ensure https://app.neuraltrust.ai/api/auth/callback/oidc is registered |
User not authorized | Verify the user’s email domain is verified in NeuralTrust |
Discovery endpoint not found | Add /.well-known/openid-configuration to verify your issuer URL supports discovery |
Related Documentation
- Microsoft Entra ID SSO — SSO with Microsoft corporate credentials
- Break the Glass — Emergency access configuration
- Audit Logs — Monitor SSO-related security events