Hey there,
Let us talk about Keycloak for a moment.
What is a keycloak you ask?
Let me explain.
Keycloak is an open source software product to allow single sign-on with Identity and Access Management aimed at modern applications and services - Google
Basically you can add authentication to applications and secure services with minimum fuss . Less headache in one word. Nop. Two words.
Let's see how we can set up this service in our environment. I am focusing windows platform for now. The examples are done in windows environment.
What we are going to cover here
✅ Download and install keycloak
✅ Creating a Realm
✅ Creating a client
✅ Creating a Role and a User
✅ Login With the credential
Setting Up a Keycloak Server
1. Download and install keycloak
- Download the latest version of keycloak from here .
- Take the zip file
- At the time of writing this i am using keycloak 11.0.2
If java is not installed,
- Install Java sdk
- Add the path to environmental variables
Official documentation is right here
unzip keycloak-11.0.2.zip
cd keycloak-11.0.2/bin
standalone.bat -Djboss.socket.binding.port-offset=100
After running ./standalone.sh, Keycloak will be starting its services. Once we see a line containing Keycloak 11.0.2 (WildFly Core 12.0.3.Final) started
Now let's open a browser and visit http://localhost:8180. We'll be redirected to http://localhost:8180/auth to create an administrative login as you can see below.
Let's create an initial admin user named 'admin' with the password 'password'.(education purpose only).
Upon clicking Create, we'll see a message User Created.
We can now proceed to the Administrative Console. On the login page, we'll enter the initial admin user credentials
2. Creating a Realm
A successful login will take us to the console and open up the default Master realm for us.
Here we'll focus on creating a custom realm.
Let's navigate to the upper left upper corner to discover the Add realm button:
On the next screen, let's add a new realm called AngularKeycloak:
After clicking the Create button, a new realm will be created and we'll be redirected to it. All the operations in the next sections will be performed in this new AngularKeycloakrealm.
3. Creating a client
Now we'll navigate to the Clients page. As we can see in the image below, Keycloak comes with Clients that are already built-in
But we need to add a new client to our application, so we'll click Create. We'll call the new Client angular-app:
In the next screen we'll be leaving all the defaults except the Valid Redirect URIs field. This field should contain the application URL(s) that will use this client for authentication:
4. Creating a Role and a User
Keycloak uses Role-Based Access. Therefore, each user must have a role.
To do that, we need to navigate to the Roles page:
Then, we'll add the user role:
Now we've got a role that can be assigned to users, but there are no users yet. So let's go the Users page and add one:
We'll add a user named admin:
We can now go to the Credentials tab. Set a password. Remember you need username and password you set right now to login with this user for your application:
Finally, we'll navigate to the Role Mappings tab. We'll be assigning the user role to our user1:
You have succesfully installed Keycloak at this point. Now you can connect your application to keycloak for identity and access management.
We will see how to add custom themes for keycloak in the next post.
Thats it for now. Hasta Pronto ! 🙌🙌
Top comments (0)