Einmal richtig konfiguriert, übernimmt Keycloak die komplette Komplexität der Authentifizierung und Autorisierung. Wir zeigen, wie das für eine realistische verteilte Anwendungslandschaft funktioniert, die moderne Sicherheitsstandards erfüllt.
Im ersten Teil der Artikelserie [1] haben wir Keycloak [2] als Identity- und Access-Management-Lösung beleuchtet. Beispiel für diesen Artikel ist eine typische E-Commerce-Architektur mit diversen Client-Typen und Resource Servern. Obwohl die gezeigte Architektur bewusst vereinfacht und keine Referenzarchitektur für produktive Systeme ist, deckt sie die wesentlichen, im Entwickleralltag auftauchenden OAuth2-/OIDC-Szenarien ab: Server-seitige Webanwendungen, Single-Page-Apps und die sichere Kommunikation zwischen Services.
Die Beispielanwendung besteht aus mehreren Komponenten. Hinter dem Webshop (Confidential Client) steckt eine Server-seitige Quarkus-Anwendung, die authentifizierten Benutzern Produkte präsentiert und die Warenkorbfunktionen bereitstellt. Er greift auf zwei Backend-Services zu: den Produktdaten-Service über den Client Credentials Flow (Service-to-Service ohne Benutzerkontext) und den Warenkorb-Service mit dem Access Token des angemeldeten Benutzers (Token Propagation).
Hinter der Checkout-App (Public Client) verbirgt sich eine React-basierte Single-Page-Application. Sie bildet den Checkout-Prozess ab. Die App greift ausschließlich auf den Warenkorb-Service zu und arbeitet komplett im Kontext des angemeldeten Benutzers. Der Warenkorb-Service (Resource Server) verwaltet als Backend-Service Warenkörbe und ist über eine REST-API zugänglich. Alle Zugriffe erfolgen mit gültigen Access Tokens. Zudem gewährleistet der Service, dass Benutzer nur auf ihre eigenen Warenkörbe zugreifen können.
Die Kommunikation läu...
[...]
Linux-Magazin Online veröffentlicht alle Print-Artikel, die seit 2001 im Linux-Magazin erschienen sind. Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen der aktuellen Ausgabe online zur Verfügung. Die über 4.000 Artikel sind größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der jüngsten zehn Linux-Magazine ist eine kleine Gebühr fällig.





