Awesome Keycloak Overview
A curated list of resources for learning about http://www.keycloak.org
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 thomasdarimont/awesome-keycloak · ⭐ 1.8K · 🏷️ Security
Awesome Keycloak
Carefully curated list of awesome Keycloak resources.
A curated list of resources for learning about the Open Source Identity and Access Management solution Keycloak. Contains books, websites, blog posts, links to github Repositories.
Contributing
Contributions welcome. Add links through pull requests or create an issue to start a discussion. Please refer to the contributing guide for details.
Contents
General
Documentation
- Keycloak Website
- Current Documentation
- Archived Documentation
- Product Documentation for Red Hat Single Sign-On
Community, SIGs, Discussion Forums and Mailing Lists
- Keycloak Users Google Group
- Keycloak Developers Google Group
- Keycloak Discourse Group
- Inactive - Keycloak Developer Chat
- Inactive - User Mailing List
- Inactive - Developer Mailing List
- Mailing List Search
- Keycloak Subreddit
- GitHub Discussions (⭐23k)
- CNCF Slack, #keycloak, #keycloak-dev
- Keycloak OAuth SIG (⭐77)
- Keycloak SRE SIG (⭐24)
Books
- Keycloak - Identity and Access Management for Modern Applications
- Keycloak - Identity and Access Management for Modern Applications - Second Edition
Articles
- How to get Keycloak working with Docker
- Single-Sign-On for Microservices and/or Java EE applications with Keycloak SSO
- Keycloak Admin Client(s) - multiple ways to manage your SSO system
- How to get the AccessToken of Keycloak in Spring Boot and/or Java EE
- JWT authentication with Vert.x, Keycloak and Angular 2
- Authenticating via Kerberos with Keycloak and Windows 2008 Active Directory
- Deploying Keycloak with Ansible
- Easily secure your Spring Boot applications with Keycloak
- How Red Hat re-designed its Single Sign On (SSO) architecture, and why
- OAuth2, JWT, Open-ID Connect and other confusing things
- X509 Authentication with Keycloak and JBoss Fuse
- Running Keycloak on OpenShift 3
- Introducing Keycloak for Identity and Access Management
- Keycloak Basic Configuration for Authentication and Authorisation
- Keycloak on OpenShift Origin
- Identity Management, One-Time-Passwords and Two-Factor-Auth with Spring Boot and Keycloak
- Keycloak Identity Brokering with Openshift
- OpenID Connect Identity Brokering with Red Hat Single Sign-On
- Authentication & user management is hard
- Securing Nginx with Keycloak
- Secure kibana dashboards using keycloak
- Configuring NGINX for OAuth/OpenID Connect SSO with Keycloak/Red Hat SSO
- Keycloak Clustering Setup and Configuration Examples (⭐50)
- MicroProfile JWT with Keycloak
- Keycloak Essentials
- SSO-session failover with Keycloak and AWS S3
- KTOR and Keycloak: authentication with OpenId
- Keycloak: Core concepts of open source identity and access management
- Writing Keycloak Extensions: Key Concepts and Anti-Patterns
- Who am I? Keycloak Impersonation API
- Setup Keycloak Server on Ubuntu 18.04
- Getting started with Keycloak
- Angular, OpenID Connect and Keycloak
- Angular, OAuth 2.0 Scopes and Keycloak
- Keycloak, Flowable and OpenLDAP
- How to exchange token from an external provider to a keycloak token
- Building an Event Listener SPI (Plugin) for Keycloak
- Keycloak user migration – connect your legacy authentication system to Keycloak
- Keycloak Authentication and Authorization in GraphQL
- Kong / Konga / Keycloak: securing API through OIDC (⭐281)
- KeyCloak: Custom Login theme
- Keycloak: Use background color instead of background image in Custom Login theme
- How to turn off the Keycloak theme cache
- How to add a custom field to the Keycloak registration page
- How to setup Sign in with Google using Keycloak
- How to sign in users on Keycloak using Github
- Extending Keycloak SSO Capabilities with IBM Security Verify
- AWS SAML based User Federation using Keycloak
- AWS user account OpenID federation using Keycloak
- How to Run Keycloak in HA on Kubernetes
- How to create a Keycloak authenticator as a microservice?
- keycloak.ch | Installing & Running Keycloak
- keycloak.ch | Configuring Token Exchange using the CLI
- keycloak.ch | Configuring WebAuthn
- keycloak.ch | Configuring a SwissID integration
- Getting Started with Service Accounts in Keycloak
- Building cloud native apps: Identity and Access Management
- X.509 user certificate authentication with Red Hat’s single sign-on technology
- Grafana OAuth with Keycloak and how to validate a JWT token
- How to setup a Keycloak server with external MySQL database on AWS ECS Fargate in clustered mode
- Extending Keycloak: adding API key authentication
- Extending Keycloak: using a custom email sender
- Integrating Keycloak and OPA with Confluent
- UMA 2.0 : User Managed Access - how to use it with bash
- Setting Up A Keycloak Server For Authenticating To FileMaker
- How to Make Keycloak Start Up Faster When There Are a Lot of Offline Sessions
- Using Coder to Develop Keycloak Templates Live (almost)
- Keycloak Passkeys tutorial
- Keycloak as Authorization Server in .NET
- How to use Let's Encrypt certificates with Keycloak
- Keycloak Multi-Tenancy and the Pulumi Automation API: Part 1
- Instant User Management, SSO, and Secure Pages for ReactJS
- Securing a Next.js Application with Keycloak
- Django Web Authentication with Keycloak
- Keycloak Workshop for Step Up with MFA Biometrics Authentication (Passkeys) and Passwordless experience with Passkey autofill
- Migration from Spring Authorization Server to Keycloak Series' Articles
Talks
- JDD2015 - Keycloak Open Source Identity and Access Management Solution
- 2015 Using Tomcat and Keycloak in an iFrame
- 2016 You've Got Microservices Now Secure Them
- 2016 Keycloak: Open Source Single Sign On - Sebastian Rose - AOE conf (german)
- 2016 Sécuriser ses applications back et front facilement avec Keycloak (french)
- 2016 Keycloak and Red Hat Mobile Application Platform
- 2016 Easily secure your Front and back applications with KeyCloak
- 2017 Easily secure your Spring Boot applications with Keycloak - Part 1
- 2017 Easily secure your Spring Boot applications with Keycloak - Part 2
- 2018 How to secure your Spring Apps with Keycloak by Thomas Darimont @ Spring I/O 2018
- 2018 DevNation Live | A Deep Dive into Keycloak
- 2018 IDM Europe: WSO2 Identity Server vs. Keycloak (Dmitry Kann)
- 2018 JPrime|Building an effective identity and access management architecture with Keycloak (Sebastien Blanc)
- 2018 WJAX| Sichere Spring-Anwendungen mit Keycloak
- 2019 Spring I/O | Secure your Spring Apps with Keycloak
- 2019 DevoxxFR | Maitriser sa gestion de l'identité avec Keycloak (L. Benoit, T. Recloux, S. Blanc)
- 2019 DevConf | Fine - Grained Authorization with Keycloak SSO (Marek Posolda)
- 2019 VoxxedDays Minsk | Bilding an effective identity and access management architecture with Keycloak (Sebastien Blanc)
- 2019 Single-Sign-On Authentifizierung mit dem Keycloak Identity Provider | jambit CoffeeTalk
- 2020 Keycloak Team | Keycloak Pitch
- 2020 Keycloak Team | Keycloak Overview
- 2020 Please-open.it : oauth2 dans le monde des ops (french)
- 2022 Secure digital transformation via keycloak's FAPI - DevConf.cz Mini | June 2022
Presentations
Video Playlists
- Keycloak Identity and Access Management by Łukasz Budnik
- Keycloak by Niko Köbler
- Keycloak Playlist by hexaDefence
- Keycloak Tutorial Series by CodeLens
- KeycloakDevDay 2024 by dasniko
Clients
- Official Keycloak Node.js Admin Client ("Extremely Experimental")
- Keycloak Node.js TypeScript Admin Client by Canner (⭐609)
- Keycloak Go Client by Cloudtrust (⭐23)
- Keycloak Nest.js Admin Client by Relevant Fruit (⭐181)
- Keycloak Mock Library (⭐122)
- .NET / C# Keycloak.RestApiClient (⭐52)
Community Extensions
- Keycloak Extensions List
- Keycloak Benchmark Project (⭐132)
- Keycloak: Link IdP Login with User Provider (⭐25)
- Client Owner Manager: Control who can edit a client (⭐6)
- Keyloak Proxy written in Go (⭐951)
- Script based ProtocolMapper extension for SAML (⭐8)
- Realm export REST resource by Cloudtrust (⭐53)
- Keycloak JDBC Ping Setup by moremagic (⭐13)
- SMS 2 Factor Authentication for Keycloak via AWS SNS (⭐71)
- SMS 2 Factor Authentiation for Keycloak via SMS by Alliander
- Identity Provider for vk.com
- CAS Protocol Support (⭐66)
- WS-FED Support (⭐37)
- Keycloak Discord Support (⭐128)
- Keycloak Login with User Attribute (⭐36)
- zonaut/keycloak-extensions (⭐212)
- leroyguillaume/keycloak-bcrypt (⭐135)
- SPI Authenticator in Nodejs
- Have I Been Pwned? Keycloak Password Policy (⭐21)
- Keycloak Eventlistener for Google Cloud Pub Sub
- Enforcing Password policy based on attributes of User Groups (⭐9)
- Verify Email with Link or Code by hokumski (⭐8)
- Role-based Docker registry authentication (⭐10)
- SCIM for keycloak (⭐187)
- Keycloak Kafka Module (⭐100)
- Useful Keycloak EventListenerProvider implementations and utilities (⭐194)
- Keycloak: Home IdP Discovery extension (⭐265)
- Keycloak Metrics SPI (⭐561)
- Organizations for Keycloak by Phase Two (⭐415)
- Flexible IdP mapper for OIDC and SAML providers (⭐15)
- 2FA with Code sent via Email (⭐164)
- Admin Portal for User and Organization management by Phase Two (⭐20)
- MagicLink Authenticator by Phase Two (⭐242)
- Keycloak Metrics based on Micrometer (⭐29)
- softwarefactory-project/keycloak-filter-provider-users (⭐8)
- rciam/keycloak-group-management (⭐12)
- embesozzi/keycloak-webauthn-conditional-mediation WebAuthn Support for Passkeys (⭐17)
- Email Notifications when login from a new IP and Login History (⭐6)
- Keycloak Authenticator for Duo's Universal Prompt (⭐50)
- Keycloak extension for creating multi-tenant IAM for B2B SaaS applications (⭐128)
- OpenID Connect for Identity Assurance (OIDC4IDA) on Keycloak (⭐3)
- Keycloak Testcontainer for Node.js (⭐1)
- Keycloak GDPR Event Logger (⭐4)
- Keycloak Backup Email Required Action (⭐0)
- Keycloak Terms Authenticator: Require Terms and Conditions on every login (⭐0)
- Keycloak Adaptive Authentication Extension by @mabartos (⭐19)
- Keycloak GraphQL API by @blevine (⭐8)
- Keycloak SCIM Federation Support
- Keycloak Trusted Device Support by @wouterh-dev (⭐27)
Integrations
- Keycloak HTTP/MQTT/CoAP IoT Brokers Adapter (⭐7)
- Official Keycloak Node.js Connect Adapter (⭐682)
- Keycloak support for Aurelia (⭐4)
- Keycloak OAuth2 Auth for PHP (⭐208)
- Jenkins Keycloak Authentication Plugin (⭐37)
- Meteor Keycloak Accounts (⭐7)
- HapiJS Keycloak Auth (⭐36)
- zmartzone mod_auth_openidc for Apache 2.x (⭐989)
- Duo Security MFA Authentication for Keycloak
- Extension Keycloak facilitant l'utilisation de FranceConnect (⭐87)
- Ambassador Keycloak Support
- Keycloak Python Client (⭐43)
- Keycloak Terraform Provider (⭐647)
- Keycloak ADFS OpenID Connect
- React/NextJS Keycloak Bindings (⭐560)
- NextJS + tailwind + keycloak integration (⭐8)
- Keycloak Open-Shift integration (⭐19)
- Keycloak, Kong and Konga setup scripts (local development) (⭐12)
- SSO for Keycloak and Nextcloud with SAML
- Keycloak Connect GraphQL Adapter for Node.js (⭐157)
- python-keycloak (⭐728)
- Keycloak and PrivacyId3a docker-compose (local development) (⭐0)
- Nerzal/gocloak Golang Keycloak API Package (⭐1k)
- Apple Social Identity Provider for Keycloak (⭐111)
- Micrometer Keycloak extension (⭐6)
- Keycloak Provider for Laravel's Socialite Plugin
- Vault Keycloak Plugin (⭐12)
- mantelo (Python Admin Client) (⭐19)
- Keyloak Integration for the German E-Health ID (GesundheitsID) (⭐16)
Quick demo Videos
Themes
- Community Keycloak Ionic Theme (⭐21)
- A Keycloak theme based on the AdminLTE UI library (⭐93)
- GOV.UK Theme (⭐122)
- Carbon Design (⭐25)
- Modern
- Adminlte
- keycloakify: Create Keycloak themes using React (⭐1.6k)
- Keywind: Component-based theme built with Tailwind CSS (⭐795)
- TailwindUI theme (⭐35)
- Phase Two: Keycloak login theme template (⭐40)
- Phase Two: Extension for runtime loading of CSS themes (⭐30)
- Phase Two: 3 CSS-only Keycloak theme examples (⭐30)
Docker
- Official Keycloak Docker Images (⭐1.5k)
- Keycloak Examples as Docker Image
- Keycloak Maven SDK for managing the entire lifecycle of your extensions with Docker (⭐33)
- Keycloak with CRDB Support (CockroachDB)
Kubernetes
- Deprecated Keycloak Helm Chart (⭐626)
- codecentric Keycloak Helm Chart (⭐626)
- Import / Export Keycloak Config
- keycloak-operator (⭐431)
Tools
- keycloakmigration: Manage your Keycloak configuration with code (⭐115)
- tool to autogenerate an OpenAPI Specification for Keycloak's Admin API (⭐168)
- oidc-bash-client (⭐105)
- louketo-proxy (FKA Gatekeeper) (⭐951)
- keycloak-config-cli: Configuration as Code for Keycloak (⭐798)
- Keycloak Pulumi (⭐40)
- Keycloak on AWS (⭐185)
- aws-cdk construct library that allows you to create KeyCloak on AWS in TypeScript or Python (⭐88)
- keycloak-scanner Python CLI (⭐51)
- Keycloak RestAPI Postman Collection
- Keycloak Configurator (⭐11)
- kcwarden Config Auditor (⭐12)
Deployment Examples
Example Projects
- Examples from Keycloak Book: Keycloak - Identity and Access Management for Modern Applications (⭐249)
- Official Examples (⭐23k)
- Keycloak Quickstarts (⭐2k)
- Drupal 7.0 with Keycloak
- Securing Realm Resources With Custom Roles (⭐14)
- BeerCloak: a comprehensive KeyCloak extension example (⭐136)
- KeyCloak Extensions: Securing Realm Resources With Custom Roles (⭐14)
- Red Hat Single Sign-On Labs (⭐13)
- Spring Boot Keycloak Tutorial (⭐202)
- Custom Keycloak Docker Image of Computer Science House of RIT (⭐8)
- Example of custom password hash SPI for Keycloak (⭐26)
- Example for a custom http-client-provider with Proxy support (⭐3)
- Monitor your keycloak with prometheus (⭐64)
- Custom User Storage Provider .ear with jboss-cli setup (⭐93)
- Keycloak - Experimental extensions by Stian Thorgersen/Keycloak (⭐129)
- Securing Spring Boot Admin & Actuator Endpoints with Keycloak (⭐59)
- A Keycloak Mobile Implementation using Angular v4 and Ionic v3 (⭐24)
- Example for Securing Apps with Keycloak on Kubernetes (⭐56)
- Example for Securing AspDotNet Core Apps with Keycloak (⭐38)
- Example for passing custom URL parameters to a Keycloak theme for dynamic branding (⭐31)
- Angular Webapp secured with Keycloak (⭐367)
- Keycloak Theme Development Kit (⭐51)
- Keycloak Clustering examples (⭐172)
- Keycloak Last Login Date Event Listener (⭐27)
- Keycloak Project Example (Customizations, Extensions, Configuration) (⭐345)
- Example of adding API Key authentication to Keycloak (⭐115)
- Example for using Keycloak Authorization with ASP.NET Core (⭐478)
- FAPI demo from DevConf.cz Mini: Secure digital transformation via keycloak's FAPI (⭐3)
- Keycloak enviornment with WebAuthn Support for Stepup Auth with MFA Biometrics and Passkeys (by embesozzi) (⭐39)
- How to: Keycloak - ASP.NET Core - Angular (⭐45)
- Verifiable Credential Authentication with OpenID Connect (VC-AuthN OIDC) (⭐144)
- FIDO2 with Keycloak for 1FA and 2FA christian-2/oidc-passkey (⭐3)
- A simple Django app to use Keycloak over OIDC by Amsterdam/keycloak_oidc (⭐22)
- Keycloak as a Verifiable Credential Issuer with OID4VCI by Adorsys (⭐6)
Benchmarks
Help
Commercial Offerings
- Red Hat build of Keycloak
- Red Hat Single Sign-On
- INTEGSOFT UNIFIED USER CREDENTIALS WITH KEYCLOAK SSO
- JIRA SSO Plugin by codecentric
- Keycloak Competence Center by Inventage AG
- Keycloak as a Service
- Bare.Id - GDPR compliant Keycloak as a Service
- Phase Two (https://phasetwo.io/) offers hosting (free tier avaialable), on-prem deployments, and enterprise Keycloak support.
- Skycloak
Miscellaneous
- Find sites using Keycloak with google
- Keycloak Dev Bookmarks - Use the tag keycloak
- Use fail2ban to block brute-force attacks to keycloak server
- Pentest-Report Keycloak 8.0 Audit & Pentest 11.2019 by Cure53
- Keycloak - CNCF Security SIG - Self Assesment
License
To the extent possible under law, Thomas Darimont has waived all copyright and related or neighboring rights to this work.