Case Study
Syneco: User Manager with Keycloak
Summary
Syneco's Synection platform offers a wide range of applications to support energy suppliers and network operators in digitizing and automating their processes. As part of this platform, a user management application based on Keycloak was developed. This so-called User Manager enables customer administrators to efficiently manage user accounts and permissions.
Technologies
-
Keycloak
-
Angular
-
Spring Boot
About the customer
Syneco supports municipal and medium-sized energy suppliers with innovative software solutions, services, and expertise in efficient, sustainable energy trading to drive the energy transition. The software solutions digitize and automate energy procurement and marketing, enabling cost-effective and transparent processing of electricity, gas, CO2 trading, energy logistics, and risk management. Syneco's portfolio also includes solutions for renewable energies.
Project goal
Keycloak was already in use as the identity and access management solution at the start of the project. The project's goal was to transform Keycloak into a self-service user manager. During our collaboration, upgrading Keycloak to version 25 proved to be the biggest challenge, as Keycloak forms the core of the Synection platform. This upgrade presented several challenges, particularly regarding integration with the other applications within the Synection platform.
Solution
The following points provide an insight into the approach to achieving the project goal:
-
Business Value: The self-service user manager allows customer administrators to create and deactivate user profiles, as well as grant or revoke permissions for individual applications within the Synection platform. Customers can thus manage their own users and permissions, reducing the administrative effort for Syneco and its customers.
-
Implementation: In Keycloak, customers are represented as groups and licenses as roles. The User Manager allows customers to assign these roles to users, granting them access to the respective application. Based on the Syneco design library, a modern user interface was developed using Angular, providing administrators with an overview of all users and their assigned roles. This overview includes controls for filtering and paginating, as well as a visual representation of hierarchies. A feature for tracking user change history was also implemented. Furthermore, several custom Keycloak attributes were introduced to capture customer data. Read our blog post about Keycloak to learn more about the foundation upon which we developed this optimal solution.
-
Deployment: To ensure feature readiness and seamless compatibility with other Synection applications, a robust pipeline spanning multiple environments was used.
-
Collaboration: The collaboration was based on weekly meetings with the Syneco product owner, supplemented by feedback sessions as needed. This approach enabled multiple releases throughout the project, ensured regular user feedback, and maximized user value.
