OpenID Connect (OIDC)
Introduction to OpenID Connect (OIDC)
OpenID Connect (OIDC) is a modern way for users to log in to websites and applications using a trusted identity provider. Identify providers that can be Google, Microsoft, or Facebook. Instead of creating new usernames and passwords everywhere, OIDC helps users to easily verify their identity and register quickly wherever they want.
OIDC is built on top of OAuth 2.0, which is a framework used to grant applications permission to access certain data. While OAuth 2.0 focuses mainly on authorization (what an app is allowed to do), OIDC adds an identity layer that confirms who the user actually is. This makes OIDC useful for authentication (logging in).
OIDC has three main participants:
- The User — the person trying to access an application.
- The Client/Application — the website or app the user wants to log in to.
- The Identity Provider (IdP) — a trusted service, like Google, that confirms the user’s identity.
When a user clicks something like “Sign in with Google,” the application redirects the user to the identity provider. After the user logs in successfully, the provider returns an ID Token back to the application. This token is the digital proof of identity.
Public–Private Key Cryptography and Digital Signatures
OIDC relies on public–private key cryptography to make sure that identity proof cannot be forged. The identity provider has a secret private key, used to create digital signatures, and an openly shared public key, used by applications to verify those signatures.
When the identity provider issues an ID Token, it is digitally signed with the private key. Anyone holding the public key can verify that the token was really issued by the identity provider, and the token has not been tampered with.
This is similar to a wax seal on an official letter. Only the authorities can create the seal, but everyone can recognize it.
The ID Token
The ID Token is usually formatted as a JSON Web Token (JWT). It contains small pieces of information called claims, such as: the user’s email or name, when the token was created, when the token expires, and who the intended audience (application) is.
These claims are like fields on a digital ID card. Because the token is signed, the application can trust that the information inside is accurate.
How the Flow Works
- The user clicks “Login with Google.”
- The application redirects the user to Google’s login page.
- The user enters their credentials (handled only by Google).
- After authentication, Google sends the user back with an ID Token.
- The application verifies the digital signature using Google’s public key.
- If valid, the user is now logged in.
- The application does not see or store the user’s password. It relies completely on the trusted identity provider.
Why OIDC Is Important
Because
- Strong security through signatures
- Users don't need to create usernames and passwords
- Standard way for applications to confirm identity
- Reduced risk of impersonation or token tampering
- By using public–private key cryptography, OIDC ensures that only the identity provider can issue valid tokens, and anyone can verify them safely without direct communication.
