Category filter
How to Configure OIDC Single Sign-On for Apps?
This article provides a comprehensive overview of the OpenID Connect (OIDC) protocol and offers a step-by-step guide to configuring an OIDC enterprise application within Hexnode IdP.
Understanding OIDC Authentication
OpenID Connect (OIDC) is a modern, lightweight authentication protocol built as an identity layer on top of the OAuth 2.0 authorization framework. While OAuth 2.0 was originally designed purely for delegating access (authorization), OIDC extends it to securely verify who the user is (authentication).
At the core of an OIDC transaction is the JSON Web Token (JWT). When a user logs in, the Identity Provider validates their credentials and issues a digitally signed JWT (specifically, an ID Token) to the client application. This token contains verified claims about the user’s identity, allowing the application to securely establish a session without ever seeing or storing the user’s actual password.
OpenID Connect in Hexnode IdP
Within your identity architecture, Hexnode IdP acts as the authoritative Identity Provider (IdP). When an application is integrated with Hexnode IdP using the OIDC protocol, traditional session-based authentication methods are replaced with secure, token-based communication.
Instead of authenticating directly against the application, the application redirects users to Hexnode IdP. Hexnode IdP securely handles the credential verification process. Upon successful login, it redirects the user back to the Service Provider (the client application) alongside signed JSON Web Tokens. This standardized process ensures that identity data is transmitted securely while maintaining seamless compatibility with contemporary development frameworks.
When to Use OIDC Authentication
OIDC is the preferred standard for modern application development. Because it utilizes lightweight JSON formatting and the robust OAuth 2.0 framework, it is highly efficient and developer friendly.
You should choose OIDC authentication when deploying:
- Single-Page Applications (SPAs): Browser-based front-end architectures built with frameworks like React, Angular, or Vue heavily rely on OIDC for secure token management without traditional backend session states.
- Mobile and Native Apps: OIDC is optimized for mobile environments, easily securely issuing and refreshing tokens for iOS, Android, or desktop applications.
- Modern API Architectures: When your infrastructure relies on microservices and API gateways, OIDC provides the ideal token-driven authentication layer to secure backend communications.
Configure OIDC SSO for apps from Hexnode IdP
The following steps outline how to initialize an OIDC application, define its security parameters and token behaviours, and finalize the integration in Hexnode IdP.
Step 1: Initialize the Application
First, create the application container within the portal.
- Log in to the Hexnode IDP portal.
- Navigate to Applications > MyApps.
- Click + Add Apps.
- Select OIDC as the protocol.
- Click the edit icon next to Untitled Application to rename the application.
- (Optional) Upload a logo for quick visual recognition.
- Click Save.
Step 2: Configure OIDC Single Sign-On (SSO)
This section defines how your application communicates with Hexnode IdP, determining how tokens are issued, how users are redirected, and the level of security enforced.
Core Configuration
- Select the Application Type that matches your architecture:
- Web Application: For server-side apps where backend code handles authentication logic.
- Native Application: For installed mobile or desktop applications.
- Single Page Application (SPA): For browser-based front-end applications.
- Define the Client Type:
- Confidential: For applications that can securely store a Client Secret (typically server-side web apps).
- Public: For applications that cannot securely store secrets (such as mobile apps or SPAs).
- Configure Require PKCE:
- Proof Key for Code Exchange (PKCE) prevents the interception and reuse of authorization codes.
Endpoints and Permissions
- Define your Login Redirect URIs:
- Click + Add Redirect URI to specify the authorized endpoints where Hexnode IDP should send users after a successful authentication. If the redirect URI in an authentication request does not match a registered value here, the login will fail.
-
Define your Logout URIs:
- Click + Add Logout URI to define the destination where users are redirected after logging out, ensuring a controlled session termination.
- Select your Allowed Scopes:
- Scopes define what identity information the application can request. Options include Open ID (Required), Profile, Email, Offline Access (allows issuance of refresh tokens), and SCIM.
Grant Types
- Select the method your application uses to obtain access tokens from Hexnode IdP:
- Authorization Code: The most secure and recommended flow. The user authenticates, an authorization code is sent to your application, and your application securely exchanges that code for tokens.
- Refresh Token: Allows your application to request new access tokens without prompting the user to log in again, maintaining long-running sessions and improving user experience.
- Click Next to proceed.
Step 3: Automate user lifecycle with SCIM 2.0 provisioning
If you wish to automatically sync user accounts between Hexnode IdP and the Service Provider, configure the SCIM connection parameters.
- Provide the SCIM 2.0 Endpoint URL and the secure Authorization Token.
- Select the required Provisioning Actions (Create Users, Update Users, Deactivate Users, Sync Groups).
- Configure the Synchronization Schedule by setting a specific Schedule Sync time and Frequency (Daily, Weekly, or Monthly).
- Configure the User Attribute Mapping and Group Attribute Mapping to align Hexnode IdP fields with the application’s required schema.
- Click Next.
Step 4: Manage user and group assignments
In the Assignments section, define which identities are authorized to authenticate into the application. You can browse your directory and explicitly Include or Exclude specific users or groups to control access based on your organization’s requirements. After defining the initial access rules, click Next.
Step 5: Review the application
- On the Review page, carefully verify the complete summary of your configuration, including:
- OIDC Single Sign-On settings
- SCIM provisioning configuration
- User and group assignments
- If you need to make changes, click Edit next to the corresponding section.
- Once verified, click Create to complete the setup.
After creation, the application is listed under Applications > My Apps, where you can manage it at any time.
Frequently Asked Questions
What is a Service Provider (SP) and Identity Provider (IdP) in this context?
In SSO terminology, the Service Provider (SP)—often referred to as the application or client—is the third-party software the user wants to access (e.g., Salesforce, Slack, or a custom internal app). In this setup, Hexnode IdP acts as the Identity Provider (IdP). The Identity Provider’s job is to verify who the user is, while the Service Provider’s job is to trust that verification and grant the user access to their platform.
What is the exact difference between a Confidential and a Public client?
A Confidential client is an application that runs on a secure server (like a backend web application). Because the code runs entirely on the server, it can safely store a “Client Secret” without exposing it to the end-user. A Public client runs directly on the user’s device (like a mobile app or a browser-based Single Page Application). Because the code is accessible to the user, it cannot safely hide a secret, which is why public clients must rely on alternative security measures like PKCE to protect the authentication flow.
What happens if my Login Redirect URI is misconfigured?
If the Redirect URI entered in Hexnode IdP does not exactly match the URI the application sends during the login request, the authentication will fail. This is a strict security measure to prevent token hijacking. Ensure there are no typos, and pay close attention to exact formatting, including http:// vs https:// and trailing slashes.
What are "Scopes" and why do I need to select them?
Scopes act as permission requests. They define the specific pieces of identity information (called claims) that the client application is allowed to ask for. For example, selecting the Email scope ensures the user’s email address is included in the token, while Offline Access grants the app permission to request refresh tokens for long-running sessions.
Why do I need SCIM if OIDC already logs users in?
OIDC and SCIM serve two completely different purposes. OIDC handles authentication—it verifies the user’s identity and issues secure tokens for a login session. However, it does not manage the user account itself within the application’s database. For an OIDC login to work, the application usually expects the user account to already exist. While some apps support Just-In-Time (JIT) creation upon the first login, JIT cannot continuously synchronize profile changes or automatically deactivate accounts when a user leaves the organization. SCIM addresses this by automating the entire identity lifecycle (creation, updates, and deactivation), ensuring compliance and automated license recovery.
How do you suspend or delete an application in Hexnode IDP?
You can pause or permanently remove integrations directly from the portal:
- Log in to the Hexnode IDP portal and navigate to Applications > MyApps.
- Select the desired application.
- Click the Action button located at the top right corner.
- Select one of the following:
- Suspend: Temporarily disables the application without removing its configuration. Users lose access, but you can restore it at any time.
- Delete: Permanently removes the application, erasing all configuration data and terminating active SSO sessions.
- Click Confirm to proceed.

