Keycloak Fundamentals
Keycloak is an open-source identity and access management server. It authenticates users once, issues signed tokens for applications, and supports single sign-on across OpenID Connect and SAML clients you register in isolated realms.
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 — Keycloak Fundamentals
Keycloak is the login server your apps redirect to so they never have to store passwords. Users prove who they are once. Applications receive signed tokens (or SAML assertions) and get on with their jobs.
Before shared IAM servers, every application invented its own accounts table and its own "forgot password" flow. That worked until the third app needed the same people, the same MFA story, and a single logout button that actually logged anyone out. Keycloak replaces that sprawl with one authentication control plane that speaks OpenID Connect and SAML.
Everything hangs off the realm. A realm is an isolated bag of users, clients, roles, and identity settings. One Keycloak process can host many realms. People in realm A do not magically exist in realm B, which is either a feature or a ticket, depending on how you drew the boundaries.
The surprise for newcomers is the master realm. Keycloak creates it at first boot for administrators. It is for creating other realms, not for your product's customers. Put application users and application clients somewhere else. Mixing them is how a broken theme deploy becomes an all-hands identity incident.
A client is any app that asks Keycloak for login or tokens. Confidential clients can hold a secret on a server you trust. Public ones cannot, so browser and mobile apps lean on protections such as PKCE. Roles, groups, and protocol mappers decide what claims land in a token. Leave Full scope allowed on and you may ship every role the user owns to every API. Tokens are not backpacks. They are boarding passes.
Keycloak can federate LDAP directories and broker external identity providers, including social login. In both cases it still issues the local session your apps trust. That split is the whole point: directories and corporate IdPs remain sources of truth for credentials, while Keycloak remains the place applications integrate with.
Operate it with the Admin Console when you are exploring, and with the Admin CLI when you want the same change twice. Production means TLS, a real database, hostnames that match what browsers see, and admin secrets that are not admin/admin from a getting-started page.
Read the Intro when you want the architecture in full. The Cheatsheet is the pocket map for realm and client decisions. Practice and the Exercise are for kcadm and a first local realm. Field Notes is where teams admit what oversized tokens and WildFly-era runbooks still cost.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.keycloak.org/documentation
Supports
- Course official URL and documentation entry points
- Versioned guide discovery for administration and securing apps
- https://www.keycloak.org/docs/26.7.1/server_admin/
Supports
- Realm, client, user, role, group, session, federation, brokering, flows, mappers, and Admin CLI definitions
- Master realm purpose and isolation model
- Full scope allowed and token claim behavior
- Quiz answers on realms, clients, federation vs brokering, Admin CLI, and scope
- https://www.keycloak.org/getting-started/getting-started-docker
Supports
- start-dev Docker bootstrap, realm and user creation, first OIDC client registration
- Guidance to keep applications out of the master realm
- Practice and exercise procedures
- https://www.keycloak.org/securing-apps/overview
Supports
- OAuth, OIDC, and SAML client integration sequence
- Preference for ecosystem protocol libraries over adapters
- Client and service-account terminology
- Quiz answer on adapter last-resort guidance
- https://www.keycloak.org/securing-apps/oidc-layers
Supports
- OpenID Connect integration path for applications and services
- Reference-link progression after the overview
- https://www.keycloak.org/docs/26.7.1/authorization_services/
Supports
- Fine-grained resources, scopes, policies, and policy enforcement
- Limits of role claims alone for authorization
- https://www.keycloak.org/server/configuration-production
Supports
- Production configuration expectations beyond start-dev
- https://www.keycloak.org/high-availability/introduction
Supports
- Clustered and multi-cluster deployment shapes
- Awesome-links rationale for HA material
- https://www.keycloak.org/migration/migrating-to-quarkus
Supports
- Quarkus distribution migration and WildFly legacy departure
- Field Notes shift card on obsolete WildFly admin habits
- https://www.keycloak.org/2021/10/keycloak-x-update
Supports
- Keycloak.X Quarkus default plan and WildFly support window
- Timeline events for 2021-2022 distribution change
- https://github.com/keycloak/keycloak/blob/main/docs/documentation/upgrading/topics/changes/changes-17_0_0.adoc
Supports
- Keycloak 17 Quarkus default and WildFly deprecation
- Timeline events for distribution cutover
- https://bill.burkecentral.com/2014/09/10/keycloak-1-0-final-released/
Supports
- Keycloak 1.0.Final release date and early SAML roadmap
- Timeline first-release events
- https://repo1.maven.org/maven2/org/keycloak/keycloak-server/1.0-final/
Supports
- Publication timestamp for keycloak-server 1.0-final
- https://developers.redhat.com/blog/2016/10/04/how-red-hat-re-designed-its-single-sign-on-sso-architecture-and-why
Supports
- Red Hat SSO built on Keycloak replacing PicketLink-based IdP work
- Timeline 2016 product alignment event
- https://www.cncf.io/projects/keycloak/
Supports
- CNCF acceptance on 2023-04-10 at Incubating level
- Timeline stewardship event
- https://developers.redhat.com/articles/2023/11/15/whats-new-red-hat-build-keycloak-version-22
Supports
- Red Hat build of Keycloak GA and RH-SSO roadmap replacement
- https://access.redhat.com/articles/7044244
Supports
- Commercial positioning of Red Hat build of Keycloak versus RH-SSO
- https://www.keycloak.org/docs/25.0.6/release_notes/
Supports
- Lightweight access token feature and related claim controls
- Field Notes signal card and timeline lightweight-token event
- https://github.com/keycloak/keycloak/discussions/9713
Supports
- Token size and sensitive-claim motivations for lightweight tokens
- Quiz answer on oversized Authorization headers
- https://openid.net/specs/openid-connect-core-1_0.html
Supports
- ID token and authorization code protocol semantics in reference links
- https://www.keycloak.org/extensions
Supports
- Awesome-links discovery and unvetted-extension warning
- https://github.com/thomasdarimont/awesome-keycloak/
Supports
- Discovery of config-as-code, Terraform, benchmark, and auditor tools
- https://www.keycloakify.dev/
Supports
- Awesome-links rationale for theme packaging workflow
- https://github.com/adorsys/keycloak-config-cli
Supports
- Awesome-links rationale for file-based realm configuration
- https://registry.terraform.io/providers/keycloak/keycloak/latest/docs
Supports
- Awesome-links rationale for declarative realm and client management
- https://github.com/keycloak/keycloak-benchmark
Supports
- Awesome-links rationale for load and capacity testing
- https://github.com/iteratec/kcwarden
Supports
- Awesome-links rationale for configuration auditing
- https://github.com/dasniko/testcontainers-keycloak
Supports
- Awesome-links rationale for ephemeral Keycloak test instances
- https://www.keycloak.org/
Supports
- Landscape product URLs and placement descriptions relative to Keycloak realms and clients
