OIDC single sign-on lets users log in to Nexterm using their existing identity provider credentials. When a user clicks the sign-in button, Nexterm redirects them to your IdP, receives a token on callback, reads the user’s claims, and creates or updates a local account automatically. You can add multiple OIDC providers; each one appears as a separate button on the login page.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/gnmyt/Nexterm/llms.txt
Use this file to discover all available pages before exploring further.
How it works
When a user initiates an OIDC login, Nexterm:- Discovers the IdP configuration from the issuer URL’s
/.well-known/openid-configurationendpoint. - Builds an authorization URL with PKCE and redirects the user’s browser to the IdP.
- Receives the authorization code at the callback URL.
- Exchanges the code for tokens and fetches the userinfo endpoint.
- Maps claims to Nexterm fields (
username,firstName,lastName) and creates or updates the account. - Issues a Nexterm session token and logs the user in.
Adding a provider
Open authentication settings
Go to Settings → Authentication. You will see any existing providers listed here, along with the built-in internal provider.
Copy the redirect URI
Nexterm pre-fills the Redirect URI field. Copy this value — you will need to register it in your identity provider before the login flow will work.
Provider fields
| Field | Description |
|---|---|
| Display Name | Label shown on the login button, for example Sign in with Okta. |
| Issuer URL | Your IdP’s base URL. Nexterm appends /.well-known/openid-configuration to discover endpoints. |
| Client ID | The application/client ID assigned by your IdP when you registered the application. |
| Client Secret | The client secret from your IdP. Stored encrypted at rest using your ENCRYPTION_KEY. |
| Redirect URI | Pre-filled by Nexterm. Register this exact URL in your IdP. |
| Scope | OAuth scopes to request. Defaults to openid profile. Add email if your username mapping uses the email claim. |
Provider-specific setup
Microsoft Entra ID (Azure AD)
Microsoft Entra ID (Azure AD)
Register an application
Open the Azure Portal, navigate to Microsoft Entra ID → App registrations, and click New registration. Give it a name such as
Nexterm.Add the redirect URI
Under Redirect URIs, add the URI from Nexterm’s provider form:Select Web as the platform type.
Copy the client ID
From the Overview page, copy the Application (client) ID and paste it into Nexterm’s Client ID field.
Create a client secret
Go to Certificates & secrets → Client secrets → New client secret. Set an expiry, create the secret, and copy the Value into Nexterm’s Client Secret field.
Google
Create OAuth credentials
Open the Google Cloud Console, navigate to APIs & Services → Credentials, click Create Credentials, and choose OAuth client ID. Select Web application as the application type.
Copy the client credentials
Copy the Client ID and Client Secret shown after creating the credential.
Keycloak
Keycloak
Create a client
In your Keycloak realm, go to Clients → Create client. Set the Client ID and enable Client authentication.
Authentik
Authentik
Create a provider
In Authentik, go to Applications → Providers → Create and select OAuth2/OpenID Provider.
Copy the client credentials
After saving, note the Client ID and Client Secret from the provider detail page.
Authelia
Authelia
Add a client entry to your Authelia configuration:Set Nexterm’s issuer URL to your Authelia base URL:Use the plaintext version of your
client_secret value in Nexterm’s Client Secret field. Authelia expects the hashed form in its configuration file.Attribute mapping
Nexterm maps claims from the userinfo endpoint (or ID token fallback) to account fields. The defaults work for most standard OIDC providers. You can override them in the provider’s Advanced Settings.| Nexterm field | Default claim | Notes |
|---|---|---|
| Username | preferred_username | Falls back to email, then sub if the configured claim is absent. |
| First name | given_name | Set to empty string if absent. |
| Last name | family_name | Set to empty string if absent. |
Troubleshooting
Redirect URI mismatch
Redirect URI mismatch
The redirect URI registered in your IdP must match the value shown in Nexterm exactly — including protocol (
https vs http), trailing slashes, and port numbers. Even a single character difference causes the IdP to reject the callback.Copy the URI directly from Nexterm’s provider form rather than typing it manually.Wrong username or display name after login
Wrong username or display name after login
If the username or name fields are populated incorrectly, the claim names from your IdP may differ from Nexterm’s defaults. Check the actual claim names by inspecting the ID token or userinfo response from your IdP, then update the Attribute Mapping fields in the provider’s Advanced Settings to match.
Provider discovery fails
Provider discovery fails
Nexterm fetches the OIDC discovery document at startup of each login flow. If the issuer URL is wrong or unreachable, the login will fail immediately.Verify the issuer URL by opening
{issuer-url}/.well-known/openid-configuration in a browser. You should see a JSON document listing the authorization endpoint and other metadata.