User Tools

Site Tools


user:jan001:ba:keycloak

This is an old revision of the document!


Keycloak

Bei Keycloak handelt es sich um ein open-source IdentitĂ€ts- und Zugriffsverwaltungssystem, dass es vereinfachen soll Applikationen und Dienste zu sichern. Dabei implementiert es wichtige Standards wie OpenID Connect und SAML. Im Rahmen dieser Arbeit ist lediglich OpenID Connect relevant. Auch ermöglicht Keycloak es Logins von anderen Plattformen wie GitHub oder Twitter zu implementieren. Außerdem kann Keycloak sich auch mit beispielsweise einem Active Directory verbinden, welches oftmals in Firmen eingesetzt wird, um die Nutzer-Daten mit diesem zu teilen. Ein weiteres wichtiges Feature ist die BedienoberflĂ€che. (Keycloak.org, o.J.)

OAuth und OpenID Connect

Die UnterstĂŒtzung von OAuth 2.0 in Keycloak stellt eines der wichtigsten Features da. Spasovski beschreibt OAuth 2.0 wie eine schĂŒtzende Schicht fĂŒr einen Dienst, sodass die Nutzer-Applikation eine Methode hat, um an geschĂŒtze Daten zu gelangen. OAuth 2.0 (voller Titel: “The OAuth 2.0 Authorization Framework”) ist eine Spezifikation eines Protokolls zur Sicherung von Diensten, wobei die Spezifikation Freiraum fĂŒr verschiedene Implementierung offen hĂ€lt. Der hĂ€ufigste Anwendungsfall fĂŒr OAuth 2.0 sind der Schutz von RESTful APIs und webbasierten Applikationen. (Spasovski, 2013)

GrundfunktionalitÀt

Die GrundfunktionalitĂ€t lĂ€sst sich kurz zusammenfassen: Möchte eine Applikation auf geschĂŒtzte Daten zugreifen, macht diese sogenannte HTTP Anfragen an einen Server. Dabei wird ein Zugriffstoken mitgeliefert. Dieser Token enthĂ€lt Informationen, welcher Nutzer der Applikation gestattet auf die Daten zuzugreifen. In Abbildung SPASOVSKI_OAUTH wird ein Beispiel einer Authentifizierung gezeigt. ZunĂ€chst fragt die Nutzerapplikation den Zugriff auf die geschĂŒtze Ressource an. Wird dies gestattet erhĂ€lt der Nutzer ein “Authorization grant”. Dies enthĂ€lt dann Informationen ĂŒber die Authentifizierung. Folgend gibt die Nutzerapplikation den “Authorization grant” weiter an den Authentifizierungsserver. Dieser ĂŒberprĂŒft den “Authorization grant” und gibt bei BestĂ€tigung einen “Access Token” aus.

Weitere Features

Unterschied zu anderen Authentifizierungsmethoden

Implementierung in Keycloak

user/jan001/ba/keycloak.1612971982.txt.gz · Last modified: 2021/08/24 17:34 (external edit)