Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

OpenID Connect (OIDC)

OpenID Connect (OIDC) is an identity layer built on the OAuth 2.0 protocol that allows clients to verify an end-user's identity based on authentication performed by an authorization server.
Chainscore © 2026
definition
AUTHENTICATION PROTOCOL

What is OpenID Connect (OIDC)?

OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.0 authorization framework, designed to provide secure user authentication and standardized identity information.

OpenID Connect (OIDC) is an interoperable authentication protocol that enables clients to verify the identity of an end-user based on the authentication performed by an Authorization Server (also known as an Identity Provider or IdP). Unlike its foundational protocol, OAuth 2.0, which is designed for authorization (delegated access to resources), OIDC is explicitly built for federated identity and authentication. It achieves this by returning a verifiable set of claims about the user's identity in a cryptographically signed token called an ID Token, which is a JSON Web Token (JWT). This allows a client application (the Relying Party) to trust that the user is who they claim to be.

The core OIDC flow, called the Authorization Code Flow, involves several key components. The user is redirected from the client application to the OIDC Provider (like Google, Auth0, or Okta) to authenticate. Upon successful login, the provider returns an authorization code to the client, which is then exchanged for an ID Token and usually an Access Token. The ID Token contains standard claims about the user, such as sub (subject identifier), email, and name. The client can validate this token's signature using the provider's public keys, obtained from its discovery endpoint (.well-known/openid-configuration), ensuring the information is authentic and untampered.

A major advantage of OIDC is its simplicity and standardization for developers. It provides a well-defined UserInfo Endpoint, a protected resource that returns additional claims about the authenticated user when presented with a valid Access Token. Furthermore, OIDC supports essential features for modern applications, including session management and logout capabilities via front-channel and back-channel logout specs. Its use of JWTs makes the identity information self-contained and easily verifiable, reducing the need for constant calls back to the identity provider during each request, which improves performance and scalability.

In practice, OIDC is the backbone of Single Sign-On (SSO) experiences across countless web and mobile applications. When you see "Sign in with Google" or "Log in with Apple" on a website, you are typically using an OIDC flow. Enterprises use it to connect internal applications to a corporate identity provider, allowing employees to use one set of credentials securely. Its role in the broader Identity and Access Management (IAM) landscape is crucial, as it provides a standardized, secure bridge between applications that need to know 'who the user is' and trusted identity sources that can vouch for them.

etymology
PROTOCOL EVOLUTION

Etymology and Origin

The development of OpenID Connect (OIDC) is a story of convergence, born from the need to simplify and secure identity verification for modern web and mobile applications.

OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.0 authorization framework. Its name directly reflects its lineage: OpenID, a previous decentralized authentication protocol, was connected to the more modern OAuth 2.0 standard to create a unified solution. The OpenID Foundation stewarded this merger, officially finalizing the OIDC core specification in February 2014. This evolution addressed a critical gap, as OAuth 2.0 was designed for authorization (granting access) but lacked a standardized way to convey identity information about the user who granted that access.

The protocol's architecture is fundamentally a profile of OAuth 2.0. It extends OAuth's flows with a new artifact: the ID Token. This is a JSON Web Token (JWT) that contains verifiable claims about the authentication event and the user, such as a subject identifier (sub), issuer (iss), and audience (aud). By leveraging OAuth 2.0's existing mechanisms for token issuance and client registration, OIDC could focus on standardizing the identity data format and a UserInfo endpoint for retrieving additional profile attributes. This pragmatic approach allowed for rapid adoption, as developers already familiar with OAuth could easily integrate identity features.

OIDC's origin story is one of solving real-world developer pain points. Before its standardization, implementers had to create custom, non-interoperable extensions to OAuth 2.0 to obtain user identity, leading to fragmentation and security risks. OIDC provided a vendor-neutral, RESTful and JSON-based protocol that was far simpler than its predecessor, SAML. Its design for the modern web—optimized for APIs and single-page applications (SPAs)—and its foundation on widely adopted web standards cemented its position as the dominant protocol for consumer and enterprise federated identity.

key-features
OPENID CONNECT

Key Features

OpenID Connect (OIDC) is an identity layer built on OAuth 2.0 that enables clients to verify a user's identity based on authentication performed by an authorization server.

01

Identity Layer on OAuth 2.0

OIDC extends the OAuth 2.0 authorization framework to provide federated identity and authentication. While OAuth 2.0 is designed for delegated access to resources, OIDC adds a standardized way to obtain identity information about the user. It does this by returning a signed ID Token (a JSON Web Token or JWT) containing verifiable claims about the user's identity, such as their email or subject identifier.

02

ID Token & UserInfo Endpoint

The core artifacts of OIDC are the ID Token and the UserInfo endpoint. The ID Token is a cryptographically signed JWT containing standard claims about the authenticated user. For additional user profile information, clients can call the UserInfo endpoint with a valid Access Token. This separation allows for a basic identity assertion (ID Token) and optional, richer profile data (UserInfo).

03

Standardized Flows & Scopes

OIDC defines specific authentication flows (like Authorization Code Flow, Implicit Flow) built on OAuth 2.0 grants. It also introduces standard scopes to request specific identity data. Key scopes include:

  • openid: Required for all OIDC requests.
  • profile: Requests access to default profile claims.
  • email: Requests the user's email address and verification status.
  • address: Requests the user's physical address.
04

Relying Party & Identity Provider

OIDC defines clear roles in the authentication process:

  • Relying Party (RP): The client application (e.g., a dApp or web service) that needs to verify the user's identity.
  • Identity Provider (IdP): The OpenID Provider (OP) or authorization server (e.g., Google, Auth0) that authenticates the user and issues ID Tokens.
  • End-User: The individual whose identity is being verified. The RP trusts the IdP's authentication.
05

Self-Issued OpenID Provider

A unique OIDC feature is the Self-Issued OpenID Provider (SIOP), which allows an individual to act as their own IdP using a Decentralized Identifier (DID). The user signs the ID Token with a key they control (e.g., from a wallet), enabling decentralized identity and user-centric data control without a centralized authority. This is foundational for Verifiable Credentials and Web3 login patterns.

06

Cryptographic Verification & Security

OIDC relies on public key cryptography for trust. The IdP's public keys are published at a JWKS (JSON Web Key Set) URI. The Relying Party uses these keys to verify the signature on the ID Token, ensuring it was issued by a trusted provider and hasn't been tampered with. This provides non-repudiation and protects against token injection attacks.

how-it-works
AUTHENTICATION PROTOCOL

How OpenID Connect Works

OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.0 authorization framework, enabling clients to verify a user's identity and obtain basic profile information.

OpenID Connect (OIDC) is an interoperable authentication protocol that extends OAuth 2.0, which is primarily an authorization framework. While OAuth grants an application access to a user's resources (like their Google Drive), OIDC is designed to authenticate the user, answering the question, "Who is this person?" It does this by returning a verifiable set of claims about the user's identity in a standardized format called an ID Token. This token is a JSON Web Token (JWT) containing information such as the user's unique identifier (sub), the issuer (iss), and the audience (aud).

The core OIDC flow, known as the Authorization Code Flow, involves several key parties: the End-User, the Relying Party (RP) (your application), and the OpenID Provider (OP) (the identity service like Google or Microsoft). The user authenticates directly with the OP, which then issues an authorization code to the RP. The RP exchanges this code for an ID Token and usually an Access Token. The ID Token is cryptographically signed by the OP, allowing the RP to verify its authenticity and integrity using the OP's public keys, which are published at a well-known configuration endpoint (/.well-known/openid-configuration).

Beyond the basic flow, OIDC defines several other essential components. The UserInfo Endpoint is a protected OAuth 2.0 resource that returns additional claims about the authenticated user when presented with a valid Access Token. The protocol also standardizes Discovery and Dynamic Client Registration, allowing RPs to automatically configure themselves to work with an OP. Common scopes like openid, profile, and email control which claims are returned. This standardized approach allows a single sign-on (SSO) experience across multiple applications, as the same ID Token from a trusted OP can be used for authentication in different services.

core-components
AUTHENTICATION PROTOCOL

Core Components and Tokens

OpenID Connect (OIDC) is an identity layer built on OAuth 2.0 that enables clients to verify a user's identity and obtain basic profile information through interoperable RESTful APIs.

01

Core Identity Token: ID Token

The ID Token is a JSON Web Token (JWT) containing verified claims about the authenticated user's identity. It is the primary artifact of OIDC, providing stateless authentication.

  • Standard Claims: Includes sub (subject identifier), iss (issuer), aud (audience), and exp (expiration).
  • User Info: May contain name, email, and picture.
  • Signature: Cryptographically signed by the Identity Provider (IdP) to ensure integrity.
02

Authorization & Access: OAuth 2.0 Foundation

OIDC extends the OAuth 2.0 authorization framework to handle authentication. It uses the same flows (Authorization Code, Implicit) but adds the ID Token.

  • Access Token: Grants delegated access to protected resources (APIs), as in standard OAuth.
  • Authentication Request: Uses the openid scope to signal OIDC intent.
  • Hybrid Flow: Combines ID and Access Tokens in a single response for efficiency.
03

Key Parties: Roles in the Flow

An OIDC transaction involves three primary roles:

  • End-User: The individual whose identity is being verified.
  • Relying Party (RP): The client application (e.g., a dApp or web service) requesting authentication.
  • OpenID Provider (OP): The identity provider (e.g., Google, Auth0) that authenticates the user and issues tokens.

The OP's configuration is discovered via its OpenID Provider Configuration Document.

04

UserInfo Endpoint

A standardized OIDC API endpoint (/userinfo) that returns claims about the authenticated user. It is accessed with a valid Access Token.

  • Supplemental Data: While the ID Token contains basic claims, the UserInfo endpoint can provide a more comprehensive user profile.
  • Protected Resource: The endpoint itself is a protected OAuth 2.0 resource, ensuring only authorized clients can access the data.
  • JSON Response: Returns claims in a JSON object, enabling extensibility.
05

Dynamic Client Registration

A protocol allowing clients to register with an OpenID Provider dynamically, without manual configuration. This is essential for decentralized or multi-tenant applications.

  • Registration Endpoint: Clients POST a JSON object describing themselves to the OP's /registration endpoint.
  • Client Metadata: Includes redirect_uris, grant_types, and response_types.
  • Client Credentials: The OP returns a unique client_id and often a client_secret.
PROTOCOL COMPARISON

OAuth 2.0 vs. OpenID Connect (OIDC)

A technical comparison of the authorization framework (OAuth 2.0) and the identity layer built on top of it (OIDC).

Feature / PurposeOAuth 2.0OpenID Connect (OIDC)

Primary Purpose

Authorization: Delegating access to protected resources.

Authentication: Verifying user identity and providing profile information.

Core Concept

Access Tokens

ID Tokens (JWT)

Standardized User Info

Authentication Flow

Token Type Returned

Access Token (and optionally Refresh Token)

ID Token, Access Token, Refresh Token

Token Audience

Resource Server (API)

Client Application

User Claims / Profile Data

Non-standardized; requires separate API call.

Standardized claims (e.g., sub, email, name) in the ID Token.

Underlying Framework

N/A (Base Protocol)

OAuth 2.0

ecosystem-usage
OPENID CONNECT (OIDC)

Ecosystem Usage and Standards

OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.0 authorization framework, enabling clients to verify a user's identity and obtain basic profile information using standardized API endpoints.

01

Core Protocol Flow

OIDC defines a standard flow for identity verification. The key steps are:

  • User Authentication: The user authenticates with an OpenID Provider (OP).
  • ID Token Issuance: The OP issues a signed JWT (JSON Web Token) called an ID Token containing verified claims about the user.
  • Token Response: The Relying Party (RP) receives the ID Token and optionally an Access Token.
  • Claims Verification: The RP validates the ID Token's signature and issuer to trust the user's identity.
02

Key Components: ID Token & UserInfo

OIDC introduces two primary artifacts for conveying identity information:

  • ID Token: A signed JWT containing standard claims like sub (subject identifier), iss (issuer), aud (audience), and exp (expiration). It is the core proof of authentication.
  • UserInfo Endpoint: A protected OAuth 2.0 resource endpoint. An RP can use a valid Access Token to call this endpoint and fetch additional user attributes (e.g., name, email, picture) beyond the base set in the ID Token.
03

Integration with OAuth 2.0

OIDC is not a separate protocol but an extension of OAuth 2.0. It uses OAuth 2.0 flows (Authorization Code, Implicit, etc.) to obtain tokens, then adds identity-specific semantics:

  • The openid scope is mandatory to initiate an OIDC request.
  • The response includes the ID Token in addition to standard OAuth tokens.
  • This allows a single protocol to handle both authorization (OAuth 2.0) and authentication (OIDC).
04

Real-World Use Cases

OIDC is the backbone of modern single sign-on (SSO) and identity federation:

  • Enterprise SSO: Employees use corporate credentials (e.g., via Azure AD, Okta) to log into third-party SaaS applications.
  • Social Login: "Sign in with Google" or "Log in with Apple" buttons use OIDC to authenticate users and share basic profile data.
  • Mobile & Native Apps: Provides a secure, standardized way for apps to authenticate users without handling passwords directly.
05

OIDC vs. SAML

While both are identity protocols, OIDC is designed for modern applications:

  • Protocol Foundation: OIDC is built on OAuth 2.0 and uses JSON/REST. SAML is XML-based and uses its own SOAP-like messages.
  • Token Format: OIDC uses lightweight, self-contained JWTs. SAML uses larger SAML Assertions in XML.
  • Use Case Fit: OIDC is optimized for mobile, single-page apps (SPAs), and APIs. SAML is historically dominant in enterprise web SSO. Many identity providers now support both.
06

Security & Best Practices

Secure OIDC implementation requires adherence to several key practices:

  • Token Validation: RPs must always validate the ID Token's signature, iss, aud, and exp claims.
  • PKCE (Proof Key for Code Exchange): Essential for public clients (like mobile apps) to prevent authorization code interception attacks.
  • Use nonce: Protect against replay attacks by including and checking a unique nonce parameter in authentication requests.
  • Secure Storage: Access and Refresh Tokens must be stored securely on the client side, following platform-specific guidelines.
security-considerations
OPENID CONNECT (OIDC)

Security Considerations

While OIDC provides a robust framework for authentication, its implementation in decentralized applications (dApps) and blockchain identity systems introduces unique attack vectors and requires careful configuration.

02

Dynamic Client Registration Risks

OIDC supports dynamic client registration, allowing dApps to register with an Identity Provider (IdP) on-the-fly. This introduces risks:

  • Malicious clients can be registered to phish user credentials.
  • Poorly configured IdPs may allow overly permissive redirect URIs, enabling authorization code interception.
  • Mitigation requires strict redirect URI validation, use of pre-registered clients, and optional software statements for attested metadata.
03

Redirect URI Manipulation & Phishing

The authorization code flow is vulnerable to manipulation of the redirect_uri parameter. Attackers can:

  • Substitute a URI they control to intercept the authorization code.
  • Exploit open redirectors on the client's domain.
  • Best practices include:
    • Exact matching of pre-registered redirect URIs.
    • Using PKCE (Proof Key for Code Exchange) to bind the code to the initial request.
    • Avoiding the use of the implicit flow (fragment-based response).
05

Relaying Party & Session Management

The Relying Party (RP) or client application must securely manage the authenticated session. Critical aspects are:

  • Implementing secure session cookies (HttpOnly, Secure, SameSite attributes).
  • Setting appropriate session timeouts and implementing token refresh logic.
  • Protecting against Cross-Site Request Forgery (CSRF) during the authorization flow using the state parameter.
  • Properly handling logout and token revocation by calling the IdP's end-session endpoint.
06

Auditing & Logging for Compliance

For enterprise or regulated DeFi applications, comprehensive logging is essential for security audits and compliance (e.g., GDPR, SOC2). Key logged events should include:

  • All authentication and consent events with user/subject identifiers.
  • Token issuance and validation failures.
  • Admin actions on client registrations.
  • Care must be taken to anonymize or pseudonymize logs to protect user privacy while maintaining audit trails.
evolution-ssi
OPENID CONNECT (OIDC)

Evolution and Role in Decentralized Identity (SSI)

This section examines the evolution of OpenID Connect from a centralized web authentication protocol to a foundational component of modern decentralized identity (SSI) architectures, detailing its role in credential issuance and verification.

OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.0 authorization framework, providing a standardized protocol for user authentication and the secure transmission of identity information, known as claims, between parties. In traditional web applications, it enables single sign-on (SSO) by allowing a Relying Party (RP), such as a website, to verify a user's identity via an OpenID Provider (OP). This foundational model, based on the exchange of a signed JSON Web Token (JWT) called an ID Token, established the core pattern of verifiable credential presentation that would later be adapted for decentralized systems.

The evolution of OIDC into the SSI landscape is formalized through extensions like OpenID Connect for Verifiable Credentials (OIDC4VC). This framework reinterprets the traditional roles: the OpenID Provider becomes a Wallet or Holder that stores user credentials, and the Relying Party becomes a Verifier. Instead of merely authenticating a user, OIDC4VC enables the selective disclosure of cryptographically signed Verifiable Credentials (VCs). A user can present a credential issued by a university (the Issuer) to a verifier's site, proving a degree without revealing unnecessary personal data, thus enabling privacy-preserving and user-centric authentication flows.

OIDC's role in SSI is crucial as a bridging protocol that connects the existing, vast ecosystem of OAuth 2.0-compliant services with the emerging world of decentralized identifiers (DIDs) and verifiable credentials. It provides a familiar, HTTP-based API layer that developers already understand, lowering the adoption barrier for SSI. Key mechanisms include the OIDC4VP (Verifiable Presentations) flow for presenting credentials and OIDC4VCI (Verifiable Credential Issuance) for issuing credentials directly to a user's wallet via an authorization code, effectively turning OIDC into a full-stack protocol for the credential lifecycle.

In practical implementation, an OIDC4VC interaction often begins when a verifier sends a Presentation Definition—a machine-readable specification of the required credentials—to a user's wallet. The wallet then constructs a Verifiable Presentation containing the relevant credentials, signs it with a key linked to the user's Decentralized Identifier (DID), and returns it within the OIDC response. This process decouples authentication from centralized providers, giving users true control over their digital identity while maintaining interoperability with billions of existing OAuth 2.0 endpoints, making OIDC a pragmatic and evolutionary path toward widespread SSI adoption.

OPENID CONNECT

Frequently Asked Questions (FAQ)

Essential questions and answers about OpenID Connect (OIDC), the identity layer built on OAuth 2.0, clarifying its core concepts, flows, and implementation details for developers.

OpenID Connect (OIDC) is an identity layer built on top of the OAuth 2.0 authorization framework that enables clients to verify the identity of an end-user and obtain basic profile information. It works by adding an ID Token—a JSON Web Token (JWT)—to the standard OAuth flow. The process typically involves:

  1. The Relying Party (RP) redirects the user to the OpenID Provider (OP).
  2. The user authenticates and consents.
  3. The OP returns an authorization code to the RP.
  4. The RP exchanges this code for an Access Token and an ID Token.
  5. The ID Token, which contains verifiable claims about the user's identity (like sub for subject), is cryptographically signed by the OP, allowing the RP to trust the user's authenticated identity.
ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team