I think the best overview would be: ruclips.net/video/Nkoz1iD-HOA/видео.htmlsi=vbtzsudQaljKim3p I also have this one for CSS in JS: ruclips.net/video/vRPlGUD-KvE/видео.html But as always the best way by far is to read through this documentation section: docs.keycloakify.dev/customization-strategies/css-level-customization
I am just curious to know have you making a tutorial about the split login screen like - 1screen having only email with verifying the email exist on the database and then 2nd screen having the password screen ? - remember i have shared with you on the linkedin message
Thank you for sharing! While I’m not sure about making a full tutorial, a template might be more suitable for this purpose. However, I have a lot of work to do at the framework level before I can dedicate time to creating templates. My main priority is to equip the community with the tools they need to create what they want, rather than focusing on creating the content myself.
Currently implementing something similar and my 2c on this, largely because of this video (and if you are using react + mui): I found doing the initial username page on the react app to be much simpler, since the app itself is already hooked up to the database (therefore, no extra config needed) and then passing the username to keycloak for login as a url param, which autofills the username input box. I havent done it yet but I am pretty confident that replacing the username input box with a text field showing the populated username isnt going to be too hard. The good part here is that, because this page also uses react mui, if there isnt too much customization done to the react components on your app, it is easy to make the 2 pages look kinda identical. As I type this out, i realize this was 2 week ago and you mustve already found a workaround for it so curious as to what you ended up doing!
@@rainman400 Doing the work ahead of the theme and passing the values as query params to be pre-filled is pretty smart. Be carfull though about the possible validation issues. The validation rules are defined on the keycloak server and unless you pull them in your app you might be sending invalid values to be pre filled. There are also things that only keycloak can know and that can't be validated in realtime like "Is there alreader an user with this username?" What I found easyer is to call my API from the theme if I need extra information. For example in this app: code.gouv.fr/sill If you go to "sign in" -> "no account yet" -> "organization" you can see that as you type there is a dynamical autocomplete. Also note that I have made anoter video on the customization of the Register page: ruclips.net/video/lMOLrdqilqE/видео.htmlsi=B3E6Y8VQgm5AgM0y There might be interesting information there like for example using attributes groups for implementing multi step registration that can be configured at the Keycloak level and not hard coded into the theme.
@@josephgarronegj Like I said, GOATed. I was not aware that there is already an example for calling an external API, i will surely check it out. I guess it depends on the way registration is done and I should have clarified that. I am doing the registration in my app through our front end and then proceeding to have the backend create a user in keycloak. So the username validation is also done through that endpoint. It is a little bit of duplication of data but also it helps with other things in the app
docs.keycloakify.dev/environment-variables@@rainman400 The code is here if you want to check it out: github.com/codegouvfr/sill/blob/85bc1ef65195299071700aa7f7d7550901d2632a/web/src/keycloak-theme/login/pages/shared/UserProfileFormFields.tsx#L43-L70 It's still using an older Keycloakify version though. If you are consuming an API there are two way to provide the url to the API (assuming you don't want to hardcode it): The first one is to define it as an environement variable: docs.keycloakify.dev/environment-variables And the second one is to pass it as url query parameter when you redirect to your login page: docs.keycloakify.dev/passing-url-parameters-when-redirecting-to-your-theme But be aware if you use this approach that if it's not your app that is sending you the user you won't have the API URL. Also, you should persiste the query url in the session storage or it will be lost navigating from the login to the register page for example.
Thank you, you've been a great help!
nice tutorial, hot to with shadcn/ui and react-icons 😅
Great video...!!!
The GOAT for sure. Super simple and easy to use
Thanks man!
Thats awesome man. Exactly what i was looking for.
Great video🎉
Can you make a video on customizing using only css?
I think the best overview would be: ruclips.net/video/Nkoz1iD-HOA/видео.htmlsi=vbtzsudQaljKim3p
I also have this one for CSS in JS: ruclips.net/video/vRPlGUD-KvE/видео.html
But as always the best way by far is to read through this documentation section: docs.keycloakify.dev/customization-strategies/css-level-customization
Thank you very much
You are great man , you support and navigate people who are using keycloakify, in a really nice way.
Thank you very much! I’m glad you found it understandable!
As always with amazing content and appreciate your effort on this you deserve more subs and likes :-) ♥
Thank you very much!
Merci, super utile !
Merci, avec plaisir!
thanks! will watch soon!
I am just curious to know have you making a tutorial about the split login screen like - 1screen having only email with verifying the email exist on the database and then 2nd screen having the password screen ? - remember i have shared with you on the linkedin message
Thank you for sharing! While I’m not sure about making a full tutorial, a template might be more suitable for this purpose. However, I have a lot of work to do at the framework level before I can dedicate time to creating templates. My main priority is to equip the community with the tools they need to create what they want, rather than focusing on creating the content myself.
Currently implementing something similar and my 2c on this, largely because of this video (and if you are using react + mui):
I found doing the initial username page on the react app to be much simpler, since the app itself is already hooked up to the database (therefore, no extra config needed) and then passing the username to keycloak for login as a url param, which autofills the username input box. I havent done it yet but I am pretty confident that replacing the username input box with a text field showing the populated username isnt going to be too hard.
The good part here is that, because this page also uses react mui, if there isnt too much customization done to the react components on your app, it is easy to make the 2 pages look kinda identical.
As I type this out, i realize this was 2 week ago and you mustve already found a workaround for it so curious as to what you ended up doing!
@@rainman400 Doing the work ahead of the theme and passing the values as query params to be pre-filled is pretty smart.
Be carfull though about the possible validation issues.
The validation rules are defined on the keycloak server and unless you pull them in your app you might be sending invalid values to be pre filled.
There are also things that only keycloak can know and that can't be validated in realtime like "Is there alreader an user with this username?"
What I found easyer is to call my API from the theme if I need extra information.
For example in this app:
code.gouv.fr/sill
If you go to "sign in" -> "no account yet" -> "organization"
you can see that as you type there is a dynamical autocomplete.
Also note that I have made anoter video on the customization of the Register page:
ruclips.net/video/lMOLrdqilqE/видео.htmlsi=B3E6Y8VQgm5AgM0y
There might be interesting information there like for example using attributes groups for implementing multi step registration that can be configured at the Keycloak level and not hard coded into the theme.
@@josephgarronegj Like I said, GOATed.
I was not aware that there is already an example for calling an external API, i will surely check it out.
I guess it depends on the way registration is done and I should have clarified that. I am doing the registration in my app through our front end and then proceeding to have the backend create a user in keycloak. So the username validation is also done through that endpoint. It is a little bit of duplication of data but also it helps with other things in the app
docs.keycloakify.dev/environment-variables@@rainman400 The code is here if you want to check it out:
github.com/codegouvfr/sill/blob/85bc1ef65195299071700aa7f7d7550901d2632a/web/src/keycloak-theme/login/pages/shared/UserProfileFormFields.tsx#L43-L70
It's still using an older Keycloakify version though.
If you are consuming an API there are two way to provide the url to the API (assuming you don't want to hardcode it):
The first one is to define it as an environement variable:
docs.keycloakify.dev/environment-variables
And the second one is to pass it as url query parameter when you redirect to your login page:
docs.keycloakify.dev/passing-url-parameters-when-redirecting-to-your-theme
But be aware if you use this approach that if it's not your app that is sending you the user you won't have the API URL. Also, you should persiste the query url in the session storage or it will be lost navigating from the login to the register page for example.
Which Icon Theme Extension Your Are Using?
In this video we use `@mui/icons-material`
mui.com/material-ui/material-icons/