© Ico Maker/shutterstock.com
Teil 3: OAuth 2.0 und die neuen Security-Best-Practices

Sichere Projekte mit Angular


OAuth 2.0 und das darauf aufbauende OpenID Connect erlauben das Anbinden von Identity-Lösungen wie Active Directory. Die OAuth 2.0 Security Best Current Practice schafft den bis dato für SPAs verwendeten Implicit Flow ab und erlaubt Refresh-Tokens.

Keine erstzunehmende Geschäftsanwendung kommt ohne Authentifizierung und Autorisierung aus. Schließlich muss die Anwendung ja wissen, mit wem sie es zu tun hat und welche Berechtigungen vorliegen. Eine sehr flexible Lösung hierfür ist der Einsatz von Securitytokens. Sie erlauben die Anbindung verschiedener Identity-Lösungen wie Active Directory und sind die Basis für die Realisierung von Single Sign-on.

Damit die Anwendung mit allen möglichen Identity-Lösungen funktioniert, benötigen wir ein wohldefiniertes Protokoll zur Kommunikation. Seit einigen Jahren sind OAuth 2.0 und OpenID Connect (OIDC) die De-facto-Standards dafür.

In diesem Artikel zeige ich, wie unsere Lösung aus den letzten beiden Teilen mit diesen Protokollen eine bestehende Identity-Lösung anbinden kann. Dabei berücksichtige ich die aktuellen Best Current Practices [1], an denen die OAuth Working Group gerade arbeitet und die in OAuth 2.1 einfließen sollen.

Das Beispiel dafür befindet sich wieder in meinem GitHub-Account [2]. Der Branch artikel3 beinhaltet die hier beschriebenen Anpassungen.

Überblick zu OAuth 2.0 und OpenID Connect

Das Prinzip hinter OAuth 2.0 und OIDC lässt sich sehr einfach mit dem sogenannten Implicit Flow visualisieren. Dabei handelt es sich um eine simple Spielart, die ursprünglich für Single Page Applications entworfen wurde. Der Flow beginnt damit, den Benutzer zu einem Authorization-Server umzuleiten (Abb. 1).

steyer_angular_start3_1.tif_fmt1.jpgAbb. 1: OAuth 2/OIDC Implicit Flow

Dieser Server kennt die einzelnen Konten und fordert den Benutzer auf, sich anzumelden. Die Art der Anmeldung ist ein Implementierungsdetail, das nicht vom Standard vorgegeben wird. Häufig kommen an dieser Stelle Benutzernamen und Passwörter zum Einsatz. Innerhalb von Windows-Domänen biete...

Neugierig geworden?

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