How to create a Keycloak plugin

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Sonar - Write Clean Java Code. Always.
  • SaaSHub - Software Alternatives and Reviews
  • Keycloak

    Open Source Identity and Access Management For Modern Applications and Services

    In order to get an idea how to create an authenticator (or any other class you might need that leverages SPI for that matter) I recommend taking a look at Keycloak source code hosted on GitHub - As you might expect Keycloak has a very large codebase therefore it would be easier to use GitHub search to find the class you might need. In our case you may find authenticators directory interesting - I will not go into detail about existing Keycloak authenticators and their implementations and rather start scaffolding our own authenticator.

  • keycloak-extension-playground

    Simple project environment for creating custom Keycloak extensions

    I should note that, while every users needs are different, it is highly likely that the plugin you want to develop already exists in this brilliant repo by user thomasdarimont. Make sure to take a look and at least get an inspiration.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • MailHog

    Web and API based SMTP testing

    We are almost ready to test our plugin. However in order to properly do this we would need an SMTP server since our plugin sends emails. You could use some real SMTP server. But that would likely cost money and you will have to use a real email. It is much easier to use a mail trap service like MailHog.

  • keycloak-ui

    Keycloak Admin Console

    In Keycloak 19 there is a bug in interface that does not allow opening settings for authenticators. Refer to this issue.

  • FreeMarker

    Apache Freemarker

    Keycloak uses FreeMaker to store and render templates. Read more about how Keycloak manages its themes in the official documentation.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts