
Presents the extension set up used through the whole chapter. All the code is available on github: https://github.com/zak905/extending-keycloak-udemy-course
each lesson corresponds to a tag/branch ( more details on the readme)
To switch to the course context in the github repo, you can run: git checkout lesson5-6
AIA stands for Application Initiated Action and not Application Initialized Action ( I mispronounced)
Also, sorry for slightly changing the course plan. The next course will be about provider config and not Required Actions as I mentionned at the end of the video
To switch to the course context in the github repo, you can run: git checkout lesson5-6
To switch to the course context in the github repo, you can run: git checkout lesson_7_provider_configuration
To switch to the course context in the github repo, you can run: git checkout lesson8
To switch to the course context in the github repo, you can run: git checkout lesson9
To switch to the course context in the github repo, you can run: git checkout lesson10
To switch to the course context in the github repo, you can run: git checkout lesson_11_aia
List of classes that implements ProviderEvent:
ClientCreationEvent
ClientUpdatedEvent
ClientIdChangeEvent
ClientRemovedEvent
ClientProtocolUpdatedEvent
ClientScopeRemovedEvent
GroupRemovedEvent
GroupPathChangeEvent
RealmCreationEvent
RealmPostCreateEvent
RealmRemovedEvent
IdentityProviderUpdatedEvent
IdentityProviderRemovedEvent
RoleRemovedEvent
RoleNameChangeEvent
UserRemovedEvent
PostMigrationEvent
ResetTimeOffsetEvent
ImportRealmFromRepresentation
LegacyStoreMigrateRepresentationEvent
LegacyStoreSyncEvent
To switch to the course context in the github repo, you can run: git checkout lesson12
To switch to the course context in the github repo, you can run: git checkout lesson13
To switch to the course context in the github repo, you can run: git checkout lesson15
To switch to the course context in the github repo, you can run: git checkout lesson16
I would like to rectify a typo around minute 8:40. Actually, there is a method called `getUserId()` in the Event class, so this is the one that should be used, and not event.getId(). I have already fix that in the source code.
To switch to the course context in the github repo, you can run: git checkout lesson17
To switch to the course context in the github repo, you can run: git checkout lesson18
This course aims to provide software engineers with the necessary knowledge to get up to speed with writing Keycloak extensions. It is mostly practical and backed by several years of experience integrating Keycloak within complex systems. Many enterprises nowadays fell the need to adopt a centralized authentication/authorization solution like Keycloak, which has quickly become one of the de facto choices. Because extending Keycloak is most of the time necessary, especially if the choice of adopting Keycloak comes after your system has reached a certain level of maturity, this may create some uncertainty with regards to whether Keycloak is the right of the choice. Most of the time, it is the right choice, if the necessary ground is prepared. One of the best ways to prepare the ground for a Keycloak is to study Keycloak extension points and how to use them to fit within your specific context. The course targets software engineers from all walks of like. The only prerequisites are Java language skills and Keycloak background.
This course aggregates the lessons learned from real world Keycloak set up and customization, and provides you with information that is not necessarily presented in the official documentation. It fills the gap between the Keycloak documentation and the real world settings. The course adopts a learning by doing scheme where most of the courses present a bit of theory and a live coding example. It is, as of now, the only course that deals with how to effectively extend Keycloak.