Secure Spring Boot Application With Keycloak

Below there are terms that I used in this article and their meaning within the Keycloak:

Admin Console

  • Web-based GUI where you can “click out” all configurations required by your instance to work as you desire.


  • Entities that are able to log into the protected system. They have a set of editable attributes and can be a part of a group and/or have specific roles assigned to them.


  • A type or category of user that exists within an organization. Applications often base on roles to restrict access to resources.


  • Entities that are used to manage a set of users. Similarly to users, groups have editable attributes and you can also assign roles to a group. Users that become members of a group inherit their attributes and roles.


  • A realm manages a set of users, credentials, roles, and groups. A user belongs to and logs into a realm. Realms are isolated from one another and can only manage and authenticate the users that they control.


  • Entities that can request Keycloak to authenticate a user. Most often, clients are applications and services which want to use Keycloak to secure themselves. Clients may also be entities wanting to request identity information or an access token so that they can securely invoke other services secured by Keycloak.

Identity Token

  • A token providing identity information about the user. Part of the OpenID Connect specification.

Access Token

  • A token that can be provided as part of an HTTP request.


Secure Spring Boot Application With Keycloak