© Excellent backgrounds/Shutterstock.com
Java Magazin
Teil 1: Authentifizierung und Autorisierung mit Angular 2.0

Hier kommst du nicht rein


Mit den Standards OAuth 2.0 und OpenID Connect lassen sich flexible Authentifizierungs- und Autorisierungslösungen auf der Basis von Security-Tokens entwickeln. Sie erlauben die Integration bestehender Identity-Lösungen wie Active Directory sowie die Nutzung zentraler Benutzerkonten für unterschiedliche Anwendungen.

Video: Write once, run anywhere – jetzt aber!? Cross-Plattform-Anwendungen mit Angular 2, Cordova und Electron

Artikelserie

Teil 1: Authentifizierung und Autorisierung mit Angular 2.0

Teil 2: Wiederverwendbare Pakete

Teil 3: Test und Build

Die wenigsten Geschäftsanwendungen kommen ohne Authentifizierung aus. Häufig müssen bestehende Identity-Lösungen wie Active Directory oder LDAP-Systeme integriert werden, um Single Sign-on zu ermöglichen. In modernen Webanwendungen muss der Client auch das Recht erhalten, im Namen des angemeldeten Benutzers auf Services zuzugreifen. All diese Anforderungen lassen sich elegant mit Security-Tokens lösen. Dieser Artikel zeigt anhand eines Beispiels, wie tokenbasierte Sicherheit in einer Angular-Anwendung genutzt werden kann. Dazu kommen neben einer Angular-Anwendung ein auf Spring Boot basierendes Web-API und die zertifizierte Identity-Lösung Keycloak [1] aus der Feder von Red Hat zum Einsatz. Der gesamte Quellcode findet sich unter [2] und [3].

Wer sich heutzutage mit tokenbasierter Sicherheit beschäftigt, kommt wohl kaum an den beiden populären Standards OAuth 2.0 [4] und OpenID Connect [5] vorbei. Sie beschreiben unter anderem, wie sich ein Benutzer bei einem verteilten System anmelden kann und wie ein Client das Recht erhält, im Namen des Benutzers Services zu konsumieren. Dazu kommt, dass diese Standards direkt auf HTTPS aufsetzen und sich somit wunderbar für leichtgewichtige Web-APIs eignen. Abbildung 1 verdeutlicht die Funktionsweise von OAuth 2.0 aus der Vogelperspektive. Der Client leitet den Benutzer zur Anmeldung zu einem so genannten Authorization-Server weiter. Diese Instanz hat Zugriff auf zentrale Benutzerkonten. Hat sich der Benutzer dort angemeldet, erhält der Client ein so genanntes Access-Token, das ihm im Namen des Benutzers Zugriff auf Services im Backend gibt, so genannte Resource-Server.

steyer_oauth_angular_1.tif_fmt1.jpgAbb. 1: Funktionsweise von OAuth 2.0 aus der Vogelperspektive

Ein Access-Token informiert den Resource-Server unter anderem über den entsprechenden Benutzer sowie über die Rechte, die der Client im Namen des Benutzers wahrnehmen darf. Zusätzlich finden sich im Token meist auch Metadaten, wie der Auss...

Java Magazin
Teil 1: Authentifizierung und Autorisierung mit Angular 2.0

Hier kommst du nicht rein

Mit den Standards OAuth 2.0 und OpenID Connect lassen sich flexible Authentifizierungs- und Autorisierungslösungen auf der Basis von Security-Tokens entwickeln. Sie erlauben die Integration bestehender Identity-Lösungen wie Active Directory sowie die Nutzung zentraler Benutzerkonten für unterschiedliche Anwendungen.

Hans-Peter Grahsl, Manfred Steyer


Mit den Standards OAuth 2.0 und OpenID Connect lassen sich flexible Authentifizierungs- und Autorisierungslösungen auf der Basis von Security-Tokens entwickeln. Sie erlauben die Integration bestehender Identity-Lösungen wie Active Directory sowie die Nutzung zentraler Benutzerkonten für unterschiedliche Anwendungen.

Video: Write once, run anywhere – jetzt aber!? Cross-Plattform-Anwendungen mit Angular 2, Cordova und Electron

Artikelserie

Teil 1: Authentifizierung und Autorisierung mit Angular 2.0

Teil 2: Wiederverwendbare Pakete

Teil 3: Test und Build

Die wenigsten Geschäftsanwendungen kommen ohne Authentifizierung aus. Häufig müssen bestehende Identity-Lösungen wie Active Directory oder LDAP-Systeme integriert werden, um Single Sign-on zu ermöglichen. In modernen Webanwendungen muss der Client auch das Recht erhalten, im Namen des angemeldeten Benutzers auf Services zuzugreifen. All diese Anforderungen lassen sich elegant mit Security-Tokens lösen. Dieser Artikel zeigt anhand eines Beispiels, wie tokenbasierte Sicherheit in einer Angular-Anwendung genutzt werden kann. Dazu kommen neben einer Angular-Anwendung ein auf Spring Boot basierendes Web-API und die zertifizierte Identity-Lösung Keycloak [1] aus der Feder von Red Hat zum Einsatz. Der gesamte Quellcode findet sich unter [2] und [3].

Wer sich heutzutage mit tokenbasierter Sicherheit beschäftigt, kommt wohl kaum an den beiden populären Standards OAuth 2.0 [4] und OpenID Connect [5] vorbei. Sie beschreiben unter anderem, wie sich ein Benutzer bei einem verteilten System anmelden kann und wie ein Client das Recht erhält, im Namen des Benutzers Services zu konsumieren. Dazu kommt, dass diese Standards direkt auf HTTPS aufsetzen und sich somit wunderbar für leichtgewichtige Web-APIs eignen. Abbildung 1 verdeutlicht die Funktionsweise von OAuth 2.0 aus der Vogelperspektive. Der Client leitet den Benutzer zur Anmeldung zu einem so genannten Authorization-Server weiter. Diese Instanz hat Zugriff auf zentrale Benutzerkonten. Hat sich der Benutzer dort angemeldet, erhält der Client ein so genanntes Access-Token, das ihm im Namen des Benutzers Zugriff auf Services im Backend gibt, so genannte Resource-Server.

steyer_oauth_angular_1.tif_fmt1.jpgAbb. 1: Funktionsweise von OAuth 2.0 aus der Vogelperspektive

Ein Access-Token informiert den Resource-Server unter anderem über den entsprechenden Benutzer sowie über die Rechte, die der Client im Namen des Benutzers wahrnehmen darf. Zusätzlich finden sich im Token meist auch Metadaten, wie der Auss...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang