Recently, I worked on a custom Keycloak SPI to connect authentication events with our application workflow.
One interesting part of the implementation was handling account lockout events — not by changing Keycloak's core, but by extending it through an Event Listener SPI.
I put...