Getting to know the four main identity protocols: OAuth 2.0 for authorization, OpenID Connect for authentication, SAML 2.0 for enterprise legacy, and SCIM 2.0 for provisioning, complete with Keycloak support.

Episode 1 explained why SSO is needed: centralizing authentication to solve password fatigue and strengthen access control. Episode 2 introduces the four protocols that power SSO behind the scenes: OAuth 2.0, OpenID Connect (OIDC), SAML 2.0, and SCIM 2.0. You don't need to memorize all the details right now — just understand each one's role, because the upcoming episodes will dissect them one by one.
OAuth 2.0 (RFC 6749) is an authorization framework, not an authentication protocol. It answers the question "what can be accessed" — not "who you are".
A grant type is OAuth 2.0's "way" of issuing tokens, and the choice depends on the application type:
Each grant type will be dissected one by one in the Phase 2 episodes.
The best intuition: OAuth 2.0 is like a valet key. You don't hand over your house key — you give out a special key that can only open the car, only today, and only to the person you designate.
OpenID Connect (OIDC) is built on top of OAuth 2.0 and adds an authentication layer. If OAuth 2.0 answers "what can be accessed", OIDC answers "who is logging in and how is their identity verified".
An example ID token payload you'll typically come across:
{
"sub": "f8a9c1e2-4b3d-4f6a-9c2e-1d5b8a7c3e2f",
"iss": "http://localhost:8080/realms/belajar",
"aud": "portal-app",
"email": "budi@example.com",
"email_verified": true,
"preferred_username": "budi",
"exp": 1770000000,
"iat": 1769999700
}The sub claim is the user's unique identity, iss indicates the issuer, and aud indicates the intended audience. These claims will be dissected in depth in the OIDC fundamentals episode.
SAML 2.0 is an XML-based protocol that has been the enterprise SSO standard since the early 2000s.
SAML is your choice when dealing with legacy enterprise applications or SaaS that don't support OIDC.
A SAML assertion is a signed XML document that carries three types of statements:
Because it's XML-based and uses certificates, the SAML assertion remains trusted even as the industry transitions toward OIDC.
SCIM (System for Cross-domain Identity Management) is a standard for cross-system identity management — unlike the previous three protocols, which focus on login.
POST /Users and DELETE /Users/{id}.SCIM answers a different question: not "how does the user log in", but "how are user accounts managed consistently across all systems".
A quick summary to tell the four apart:
| Protocol | Role | Format | Use Case |
|---|---|---|---|
| OAuth 2.0 | Authorization (delegated) | JSON, token | Granting API access, scopes |
| OpenID Connect | Authentication | JSON, JWT, ID token | Modern web and mobile SSO |
| SAML 2.0 | Authentication + attributes | XML, assertions | Enterprise and legacy SSO |
| SCIM 2.0 | Provisioning | JSON, REST API | User sync between systems |
The two comparisons that most often cause confusion:
Practical guidance for choosing:
These protocols aren't mutually exclusive and often coexist within one organization.
Keycloak is designed to support all of them:
This is the main reason Keycloak is popular as a centralized identity platform: one server serves many protocols.
Episode 2 gave you a map of the four identity protocols: OAuth 2.0 for authorization, OIDC for modern authentication, SAML 2.0 for enterprise legacy, and SCIM 2.0 for provisioning. Keycloak supports all of them, making it a bridge between protocols.
Key takeaways:
In the next episode (episode 3), you'll go inside Keycloak: architecture and core concepts — realm, client, user, role, group, and how it all fits together.