OpenID Connect
OpenID Connect is an authentication protocol built on OAuth 2.0. It lets an application rely on an identity provider for sign-in and receive a verifiable identity result without handling the user's password.
itIdentity, access, and cryptography | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don’t Panic — OpenID Connect
OpenID Connect is what happens when an application prefers to verify a sign-in result instead of keeping a password. It builds on OAuth two point zero, which is about delegated access. OIDC adds the identity layer, so the application can know who authenticated. The password stays with the authentication service, where it can continue being somebody else’s problem.
The two names to keep are Relying Party and OpenID Provider. The RP is the application. The OP is the service that authenticates the person. The browser visits the OP and returns to the RP with a short-lived code. The code is the courier, not the treasure, so the RP exchanges it at the token endpoint instead of leaving tokens in the browser redirect.
An ID Token is the signed authentication result. It is not a general admit-one pass for every API. The RP checks the trusted issuer, its own audience, the signature, the lifetime, and the nonce when it sent one. Decoding it only reads the label on the wrapper; validation checks whether the entire parcel belongs here.
The surprise is that a login has several clocks. The OP session, the application local session, an ID Token, and an access token can all end at different times. Logout is coordination, not a magic undo button. That is why an application must end its own local session even when the OP offers a logout endpoint.
If the variables are starting to swarm, keep a short chant. Trust an issuer. Correlate the request. Validate the ID Token. Map issuer and subject. Then create a local session and apply local policy. The Intro explains the flow in detail. The Slides map the boundaries. The Cheatsheet keeps the validation order and failure map. Field Notes cover the parts that tend to bite in production.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://openid.net/developers/how-connect-works/
Supports
- OpenID Connect purpose, roles, abstract flow, ID Token, access token, UserInfo, and ecosystem placement
- Reference-link rationale and novice orientation
- https://openid.net/specs/openid-connect-core-1_0.html
Supports
- OIDC identity layer, terminology, flows, requests, tokens, claims, UserInfo, validation, security, privacy, and stable issuer-subject identifiers
- All quiz answers concerning OIDC semantics and ID Token validation
- Intro, slides, cheatsheet, video script, and infographic factual content
- https://openid.net/specs/openid-connect-discovery-1_0.html
Supports
- Well-known configuration path, issuer matching, provider metadata, endpoint discovery, and JSON Web Key Set location
- Discovery and signing-key rotation guidance, quiz answer, and reference rationale
- https://openid.net/specs/openid-connect-registration-1_0.html
Supports
- Dynamic client registration endpoint, request, response, client metadata, redirect URIs, and credentials
- Reference-link rationale
- https://www.rfc-editor.org/rfc/rfc6749.html
Supports
- OAuth roles, endpoints, authorization code exchange, access and refresh tokens, client types, and October 2012 publication
- OpenID Connect's OAuth foundation and timeline milestone
- https://www.rfc-editor.org/rfc/rfc7636.html
Supports
- PKCE verifier, challenge, S256 method, authorization request, token exchange, and code interception defense
- Quiz answer about code binding
- https://www.rfc-editor.org/rfc/rfc9700.html
Supports
- Current authorization code, PKCE, redirect URI, issuer, audience, and flow-selection security guidance
- Reference-link rationale and recommendation against implicit flow for new designs
- https://www.rfc-editor.org/rfc/rfc8252.html
Supports
- Native app use of external user agents, redirect URI choices, public clients, and PKCE
- Reference-link rationale
- https://www.rfc-editor.org/rfc/rfc7519.html
Supports
- JSON Web Token structure and registered issuer, subject, audience, expiration, not-before, and issued-at claims
- https://www.rfc-editor.org/rfc/rfc7517.html
Supports
- JSON Web Key and JSON Web Key Set representation used for provider signing keys
- https://openid.net/specs/openid-connect-session-1_0.html
Supports
- Separation of RP and OP sessions and session-management behavior
- Quiz answer about local RP sessions
- https://openid.net/specs/openid-connect-rpinitiated-1_0.html
Supports
- RP-Initiated Logout endpoint metadata, ID Token hint, and post-logout redirect validation
- Reference-link rationale and logout comparison
- https://openid.net/specs/openid-connect-frontchannel-1_0.html
Supports
- Browser-mediated logout notification between OP and RPs
- https://openid.net/specs/openid-connect-backchannel-1_0.html
Supports
- Direct OP-to-RP logout notifications and logout-token validation
- https://openid.net/developers/certified-openid-connect-implementations/
Supports
- Published certified provider and relying-party implementations
- Reference-link rationale about conformance evidence
- https://openid.net/certification/
Supports
- Conformance testing and self-certification process
- Reference-link rationale
- https://github.com/sindresorhus/awesome
Supports
- Discovery of the dedicated Awesome OpenID Connect list
- https://github.com/cerberauth/awesome-openid-connect
Supports
- Discovery of Spring Security, oidc-client-ts, mod_auth_openidc, OAuth Tools, the conformance suite, go-oidc, and provider ecosystem entries
- https://docs.spring.io/spring-security/reference/servlet/oauth2/login/index.html
Supports
- Spring Security authorization code login, OIDC provider integration, client configuration, user mapping, and logout
- Awesome Links rationale
- https://authts.github.io/oidc-client-ts/
Supports
- TypeScript browser OIDC client requests, callbacks, sessions, and token management
- Awesome Links rationale
- https://www.mod-auth-openidc.org/
Supports
- Apache HTTP Server OpenID Certified RP and reverse-proxy integration
- Awesome Links rationale
- https://oauth.tools/about
Supports
- Interactive OAuth and OIDC message inspection, discovery, UserInfo, token decoding, validation, and flow testing
- Awesome Links rationale
- https://gitlab.com/openid/conformance-suite
Supports
- Provider and relying-party conformance test implementation
- Awesome Links rationale
- https://pkg.go.dev/github.com/coreos/go-oidc/v3/oidc
Supports
- Go provider discovery and ID Token verifier behavior
- Awesome Links rationale
- https://openid.net/specs/openid-connect-standard-1_0-01.html
Supports
- First OpenID Connect Standard draft date and initial authorization code and implicit bindings
- Timeline milestone
- https://openid.net/openid-connect-implementers-drafts-approved/
Supports
- February 2012 approval of OpenID Connect Implementer's Drafts
- Timeline milestone
- https://openid.net/wordpress-content/uploads/2020/09/openidconnectintroduction23-oct-18-181108204717.pdf
Supports
- February 2014 final approval, November 2014 errata, April 2015 provider certification, and December 2016 RP certification milestones
- Timeline milestones and protocol development arc
- https://openid.net/openid-connect-certification-program/
Supports
- April 2015 certification launch, initial provider participants, and conformance purpose
- Timeline milestone
- https://openid.net/certification/what-is-self-certification-faq/
Supports
- Provider certification general availability in 2016 and RP certification general availability in August 2017
- Timeline milestone
- https://openid.net/fapi-1-0-part-1-and-part-2-are-now-final-specifications/
Supports
- March 2021 FAPI 1.0 finalization and its security-profile role
- Timeline milestone
- https://openid.net/the-openid-connect-logout-specifications-are-now-final-specifications/
Supports
- September 2022 finalization of Session Management, Front-Channel, Back-Channel, and RP-Initiated Logout
- Timeline milestone
- https://openid.net/second-errata-set-for-openid-connect-specifications-approved/
Supports
- December 2023 second errata set for Core, Discovery, and Dynamic Registration and first Back-Channel Logout errata
- Timeline milestone
- https://auth0.com/docs/authenticate/protocols/openid-connect-protocol
Supports
- Auth0 OIDC provider endpoints, ID Tokens, claims, and application integration
- Landscape placement for Auth0
- https://auth0.com/pricing
Supports
- Auth0 proprietary hosted service with free and paid plans
- Landscape pricing classification
- https://developer.okta.com/docs/concepts/oauth-openid/
Supports
- Okta issuers, authorization servers, OIDC endpoints, metadata, keys, scopes, claims, and tokens
- Landscape placement for Okta
- https://developer.okta.com/signup/
Supports
- Okta developer service availability alongside commercial plans
- Landscape pricing classification
- https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols-oidc
Supports
- Microsoft identity platform OIDC discovery, app registration, authorization code, ID Token, claims, and logout behavior
- Landscape placement for Microsoft Entra ID
- https://www.microsoft.com/en-us/security/business/microsoft-entra-pricing
Supports
- Microsoft Entra free and paid service tiers
- Landscape pricing classification
- https://docs.aws.amazon.com/cognito/latest/developerguide/authorization-endpoint.html
Supports
- Cognito authorization endpoint, app clients, callback URLs, scopes, code flow, and PKCE
- Landscape placement for Amazon Cognito
- https://aws.amazon.com/cognito/pricing/
Supports
- Amazon Cognito free allowance and usage-based paid service
- Landscape pricing classification
- https://developers.google.com/identity/openid-connect/openid-connect
Supports
- Google OIDC discovery, authorization code flow, ID Tokens, claims, and validation
- Landscape placement and free protocol service classification for Google Identity
- https://www.keycloak.org/securing-apps/oidc-layers
Supports
- Keycloak OIDC endpoints, discovery, certificates, authorization, token, UserInfo, and logout layers
- Landscape placement and open-source classification for Keycloak
- https://www.ory.sh/docs/oauth2-oidc/
Supports
- Hydra OAuth and OIDC endpoints and separation of login and consent applications
- Landscape placement and open-source classification for Ory Hydra
- https://fusionauth.io/docs/lifecycle/authenticate-users/oauth/endpoints
Supports
- FusionAuth OIDC discovery, authorization, token, UserInfo, keys, and logout endpoints
- Landscape placement for FusionAuth
- https://fusionauth.io/pricing
Supports
- FusionAuth community and paid editions
- Landscape licensing and pricing classification
- https://curity.io/product/identity-server/
Supports
- Curity deployable OAuth and OpenID Connect identity server for API architectures
- Landscape placement and proprietary paid classification
- https://www.pingidentity.com/en/resources/identity-fundamentals/authentication-authorization-standards/openid-connect.html
Supports
- Ping Identity OpenID Connect provider and enterprise federation context
- Landscape placement and proprietary paid classification
- https://blog.logto.io/postmortem-jwks-cache
Supports
- Field Notes: operational effect of a signing-key rotation combined with stale JWKS caching
- https://securityblog.omegapoint.se/en/writeup-keycloak-cve-2023-6927/
Supports
- Field Notes: redirect-URI wildcard configuration and CVE-2023-6927 code or token exfiltration risk
