Skip to content

OpenID Connect (OIDC) Overview

OpenID Connect (OIDC) is a sophisticated identity layer built directly on top of the OAuth 2.0 framework. While OAuth 2.0 provides the mechanism for Authorization (granting access to resources), OIDC adds the critical layer of Authentication—verifying exactly who the user is. By standardizing the format of identity data (Claims) and the delivery of user profile information, OIDC enables “Single Sign-On” (SSO) across the internet. It allows a single Identity Provider (IdP) to vouch for a user’s identity to thousands of independent Service Providers (SPs) with cryptographic certainty.

OIDC

Identity Layer
Core Mission
Standardized Authentication. Establishing verifiable user identity and sharing profile data across disparate systems using a unified, JSON-based protocol.
Like a Digital Driver's License: When you walk into a store to buy a restricted item, they don't give you a special key (That's OAuth). They ask to see your ID (OpenID Connect). Your license is issued by a trusted authority (The IdP), contains standard information like your name and age (Claims), and is designed to be recognized by any business (The SP). The license proves **Who You Are**, while the store decides what that identity allows you to do.
Consumer Login (Login with Google) / Enterprise SSO / Mobile App Identity

OIDC introduces specific architectural components to the standard OAuth flow to support structured identity verification.

ComponentStrategic Purpose
ID TokenA signed JSON Web Token (JWT) that asserts the user’s identity and authentication event.
ClaimsIndividual pieces of user data (e.g., email, sub, preferred_username).
UserInfo EndpointA protected API that returns comprehensive, non-token-based profile details.
Discovery (.well-known)A standardized URL for automating the configuration of IdP metadata.

OIDC extends the standard Authorization Code flow by requesting the openid scope and providing a cryptographic nonce.

sequenceDiagram
    participant User
    participant App as Client Application
    participant IdP as Identity Provider
    
    User->>App: "Sign In"
    App->>IdP: Redirect with scope=openid
    IdP->>User: Authenticate (Password, MFA)
    User-->>IdP: Success
    IdP-->>App: Auth Code + ID Token
    App->>App: Validate ID Token Signature
    App->>IdP: (Optional) Request /userinfo
    IdP-->>App: Detailed Profile Data
1

Request with Identity Scope

The application directs the user to the IdP, requesting the `openid` scope. It includes a `nonce` string that is bound to the user's session to prevent "Replay Attacks" where a stolen token could be reused.

2

Authenticate & Assert

The IdP authenticates the user and generates an **ID Token**. This token is a JWT containing claims about the user and the authentication event (e.g., how they logged in and when the session expires).

3

Validate & Establish

The application receives the ID Token and verifies its cryptographic signature using the IdP's public keys. Once validated, the app extracts the user's unique identifier (`sub`) to establish a local session.


Understanding the boundary between OAuth 2.0 and OIDC is critical for designing secure, efficient systems.

RequirementRecommended ProtocolPrimary Artifact
User Login / Sign-InOpenID ConnectID Token (JWT).
Accessing a 3rd Party APIOAuth 2.0Access Token.
Retrieving User ProfileOpenID ConnectID Token + UserInfo.
Machine-to-Machine AuthOAuth 2.0Access Token (M2M).

Master the technical nuances of identity federation and user profile management.