Skip to content

thorsten-l/Keycloak-Sample-Environment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keycloak Sample Environment

Kontakt

Dr.-Ing. Thorsten Ludewig (t.ludewig@gmail.com)

Einführung

Keycloak ist eine Open-Source-Software zur Verwaltung der Authentifizierung und Autorisierung für Webanwendungen und RESTful Webdienste. Es ist ein Single-Sign-On (SSO)-System, das es Benutzern ermöglicht, sich einmal zu authentifizieren und dann auf mehrere Anwendungen zuzugreifen, ohne sich erneut anmelden zu müssen.

Keycloak bietet eine zentrale Anlaufstelle für die Verwaltung von Benutzerkonten, Berechtigungen und Rollen. Es unterstützt eine Vielzahl von Authentifizierungstechnologien, darunter OpenID Connect, OAuth 2.0, SAML 2.0 und Kerberos. Außerdem bietet es Funktionen wie Multi-Faktor-Authentifizierung, Social Login, Benutzerverwaltung, Gruppenmanagement und Single-Sign-Out.

Keycloak kann als eigenständiger Server bereitgestellt werden oder in eine vorhandene Anwendung integriert werden. Es ist in Java geschrieben und läuft auf verschiedenen Betriebssystemen, einschließlich Windows, Linux und macOS. Keycloak bietet auch eine REST-API zur Integration mit anderen Anwendungen und Diensten.

Keycloak wird von Red Hat entwickelt und unterstützt. Es ist eine beliebte Authentifizierungslösung für Unternehmen, die eine zentrale Plattform für die Verwaltung von Benutzern und Anwendungen benötigen. (ChatGPT)

Installation

Alle in dieser Umgebung verwendeten Beispiele beötigen Docker als Laufzeitumgebung.

Das gesamte System ist nur für den localhost konfiguriert, Docker und dein Lieblings-Browser müssen auf dem gleichen Rechner laufen. (z.B. deinem Notebook oder Arbeitsplatz-PC)

Bitte füge folgende Zeilen in deine /etc/hosts Datei ein. (Unter Microsoft Windows C:\Windows\System32\drivers\etc\hosts)

127.0.0.1       id.dev.sonia.de

127.0.0.1       app1.dev.sonia.de
127.0.0.1       app2.dev.sonia.de
127.0.0.1       app3.dev.sonia.de
127.0.0.1       app4.dev.sonia.de
127.0.0.1       app5.dev.sonia.de
127.0.0.1       app6.dev.sonia.de
127.0.0.1       app7.dev.sonia.de
127.0.0.1       app8.dev.sonia.de
127.0.0.1       app9.dev.sonia.de
127.0.0.1       app10.dev.sonia.de
127.0.0.1       app11.dev.sonia.de
127.0.0.1       app12.dev.sonia.de

127.0.0.1       rscs1.dev.sonia.de

127.0.0.1       typo3.dev.sonia.de
127.0.0.1       portainer.dev.sonia.de

Starte Keycloak Umgebung

  1. cd keycloak
  2. ./bin/STARTUP.sh (Windows: .\bin\STARTUP.ps1)

Starte Beispiel Applikation

  1. cd samples/app...
  2. docker compose up

Credentials

Beschreibung Username Password
Keycloak Admin admin admin123
Keycloak Test Admin c1admin admin123
Keycloak Test User 1 c1test1 test123
Keycloak Test User 2 c1test2 test123
Keycloak Test User 3 c1test3 test123
Keycloak Test User 4 c1test4 test123
Keycloak Test User 5 c1test5 test123
LDAP Directory Manager cn=Directory Manager 10peb8uW43kWQL519ibpsJoPpcrzPLY4tMAGBEf5e4.f8IipWmVE0A.3Gcpe0g2sw
Portainer - Local Admin localadmin localadmin123
Portainer - OIDC Admin c1admin admin123
Typo3 - Admin typo3admin Typo3Admin123!

URLs

ID Beschreibung Auth URL
--- KEYCLOAK FOLDER --- ---
id Keycloak Identity Provider (IDP) OAuth2, OIDC, SAML2 https://id.dev.sonia.de/admin/
--- SAMPLES FOLDER --- ---
app1 Springboot 2 + Keycloak Lib OIDC http://app1.dev.sonia.de:8081
app2 Springboot 3 + OAuth2 Lib OIDC http://app2.dev.sonia.de:8082
app3 PHP 8 + Apache 2 OIDC http://app3.dev.sonia.de:8083
app4 Apache 2 + mod_auth_openidc OIDC http://app4.dev.sonia.de:8084
app5 NGINX / OpenResty OIDC http://app5.dev.sonia.de:8085
app6 Springboot 3 + SpringSecurity SAML2 (OpenSAML) SAML2 http://app6.dev.sonia.de:8086
app7 Python 3.9 + Django + mozilla-django-oidc OIDC http://app7.dev.sonia.de:8087
app8 Springboot 3 + OAuth2 Lib / Springboot 3 Resource Server OIDC http://app8.dev.sonia.de:8088
app9 Jakarta EE 10 + Payara ME 6.2023.4 OIDC http://app9.dev.sonia.de:8089
app10 Springboot 3.1 + OAuth2 Lib OIDC http://app10.dev.sonia.de:8090
app11 JavaScript + OIDC Client OIDC http://app11.dev.sonia.de:8091
app12 Dart, Flutter AppAuth OIDC Mobile App (Android,iOS,...)
app13 Go Lang OIDC http://app13.dev.sonia.de:8093
--- APPLIANCE FOLDER --- ---
portainer Portainer CE OIDC http://portainer.dev.sonia.de:9000
typo3 Typo3 OIDC http://typo3.dev.sonia.de:9080/typo3/

Referenzen

Keycloak

Java

Spring Boot

Apache HTTPd

NGINX

PHP

Python

Java EE

JavaScript / TypeScript

Dart / Flutter

Tools