Keycloak demo using LS AAI as identity provider
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-11-07 13:28:26 +00:00
demo-keycloak Keycloak deployment files and demo ui 2025-11-07 13:28:26 +00:00
demo-ui Keycloak deployment files and demo ui 2025-11-07 13:28:26 +00:00
.gitattributes Keycloak deployment files and demo ui 2025-11-07 13:28:26 +00:00
.gitignore Keycloak deployment files and demo ui 2025-11-07 13:28:26 +00:00
README.md Keycloak deployment files and demo ui 2025-11-07 13:28:26 +00:00

Project Overview

This repository contains two modules:

  1. keycloak-deployment/ — Configuration files for deploying a development Keycloak instance, either with Docker Compose or Kubernetes.
  2. demo-ui/ — A Spring Boot + Vaadin web application that demonstrates secure UI integration using Keycloak as the identity provider.

Together, these modules provide a complete setup for testing and demonstrating OAuth2/OIDC authentication flows with Keycloak.

1. Start Keycloak

cd demo-keycloak/docker-compose
docker compose up -d
# Wait for Keycloak to start

This spins up a Keycloak instance with: Admin console at http://localhost:8080 Default credentials: Username: admin Password: admin

The keycloak default realm is admin, but it should not be used to manage applications.

  • Create a new realm named ega.
  • Create a new client
    • client id: ls-aai
    • name: LS AAI
    • Valid redirect URIs: http://localhost:8080/login/oauth2/code/ega
    • Web Origins: http://localhost:8080
    • Client authentication: ON
  • Create a new user
  • Set a password for the user
  • Add new identity provider. A client registered in LS AAI is needed That client should allow redirect URIs to http://localhost:8090/realms/ega/broker/ls-aai/endpoint
    • Type: Keycloak OpenID Connect provider
    • Alias: ls-aai
    • Display name: LS AAI
    • Discovery endpoint: https://login.aai.lifescience-ri.eu/oidc/.well-known/openid-configuration
    • Client ID: <LS AAI client id>
    • Client Secret: <LS AAI client secret>