Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Keycloakify v10 (Keycloak v24 support and much more) #538

Draft
wants to merge 244 commits into
base: main
Choose a base branch
from

Conversation

garronej
Copy link
Collaborator

Complete overhaul of the React component library to match the latest bultin theme of Keycloak 24

@garronej
Copy link
Collaborator Author

I think I might be able to pull of retrocompatibility in the end.
I do not guarenty it but it looks like it might be acheivable to still generate themes that works across all versions of Keycloak.

@garronej
Copy link
Collaborator Author

The new multi valued attribute requires some work to get validated in realtime on the frontend side:

image

I'm on it

@garronej
Copy link
Collaborator Author

Thanks to https://github.com/jcputney/keycloak-theme-additional-info-extension we will finaly have proper clientside password validation let's go!

For reference: https://keycloak.discourse.group/t/make-password-policies-available-to-freemarker/11632

@garronej
Copy link
Collaborator Author

I made good progress this week end but it will be at least another week befor this get merged

@garronej
Copy link
Collaborator Author

It's taking some time because I need to implement the logic for real-time client-side validation of user profile attributes. The default Keycloak theme lacks any form of client-side validation.

Trust me, the wait will be worth it for the enhanced user experience compared to the default Keycloak theme!

@garronej
Copy link
Collaborator Author

garronej commented May 8, 2024

There will no longer be two different pages for register.ftl and register-user-profile.ftl. Just a single page. And this while remaining backward compatible with Keycloak down to version 11.
This is a big win.
Especially if you don't know precisely on which version of Keycloak your theme will be deployed.
It means that Keycloakify themes will have a whider range of supported Keycloak version that any vanilla theme.

@garronej
Copy link
Collaborator Author

garronej commented May 8, 2024

Sorry it's taking longer than expected. I don't want to release an half baked major.

@garronej
Copy link
Collaborator Author

garronej commented May 10, 2024

Keeping track of pages that have been added/updated:

  • delete-credential.ftl
  • login-update-profile.ftl
  • login.ftl
  • register.ftl
  • select-authenticator.ftl
  • templat.ftl
  • update-email.ftl
  • user-profile-commons.ftl
  • webauthn-autenticate.ftl
  • webauthn-register.ftl
  • code.ftl
  • delete-account-confirm.ftl
  • error.ftl
  • frontchannel-logout.ftl
  • idp-review-user-profile.ftl
  • info.ftl
  • login-config-totp.ftl
  • login-idp-link-confirm.ftl
  • login-idp-link-email.ftl
  • login-oauth-grant.ftl
  • login-oauth2-device-verify-user-code.ftl
  • login-otp.ftl
  • login-page-expired.ftl
  • login-password.ftl
  • login-recovery-authn-code-config.ftl
  • login-recovery-authn-code-input.ftl
  • login-reset-otp.ftl
  • login-reset-password.ftl
  • login-update-password.ftl
  • login-username.ftl
  • login-verify-email.ftl
  • login-x509-info.ftl
  • logout-confirm.ftl
  • saml-post-form.ftl
  • webauthn-error.ftl
  • tems.ftl

@garronej
Copy link
Collaborator Author

every lpages of the login theme are now implemented by Keycloakify and up to date with Keycloak v24 🎊

@garronej
Copy link
Collaborator Author

garronej commented May 13, 2024

We're getting there for real.
image

Still some bugs to fix and testing to do but the codebase is there.

@garronej garronej changed the title Keycloak 24 Keycloakify v10 (Keycloak v24 support and much more) May 15, 2024
@garronej
Copy link
Collaborator Author

Apologies for the delay, everyone. I'm working hard to get this shipped as soon as possible. There are still some crucial performance optimizations that need to be addressed. Currently, the generated JAR file is too large, and the build time is too long.

Despite these issues, this release is very solid, and I believe the time saved by the various improvements will make up for the delay. Thank you for your patience and understanding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant