I recently picked up the responsibility for managing my company’s keycloak instance after the last person got laid off, and have been tasked with integrating a new web app that will use keycloak for auth, so I apologize ahead of time for my misunderstanding of how everything works ![]()
I have been tasked with creating and configuring a new keycloak client, a couple custom authenticator extensions to be placed in a new custom login flow, and a custom theme for said login. The custom flow is based off of the browser flow for reference, just with a few extra steps that communicate with external services throughout the flow.
From my understanding, the way it’ll work is
- User tries to access application
- gets redirected to keycloak for login
- User enters in credentials
- If correct, user gets redirected back to resource/application
From my understanding after reading through the guides/documentation, I should
- create a new client in the realm that handles all of our customers
- set the login theme (for the client, not realm) to my custom theme
- set up a custom authentication flow, override the aforementioned client’s browser flow to instead use this one
- provide the adapter config for that client to the developer of this new application to allow them to connect and authenticate/authorize against my keycloak instance
Right now I am trying to test that third step (in an effort to test those extensions), but unsure of how to do so, as I’m not sure how or where to find the URL for the login page for this client. Is that something I set through the Root URL of the client? Is there a pattern keycloak uses for that? There are a few OIDC clients in this realm that have their Root URL set to the URL of the application, which if unauthenticated redirects the user to a domain like <keycloak base URL>/realms/{realm}/protocol/openid-connect/auth?client_id={client_id}&redirect_uri=..., should I do something like that? Or am I thinking about this completely wrong, and it’s necessary for the client application to be properly configured to communicate with keycloak before I can properly test the authentication flow? I hope all of that makes sense and I’m not just incoherently rambling haha