Angular OAuth2
Wer heutzutage eine sichere Authentifizierung nutzen möchte, kommt meist nicht ohne OAuth aus. OAuth ist ein offenes Protokoll zur sicheren API-Autorisierung von Anwendungen. Die aktuelle Version ist 2.0, jedoch steht 2.1 kurz vor dem Release.
Eine große Änderung in Version 2.1 betrifft vor allem den sogenannten "Flow", sprich wie das Authentifizierungsverfahren abläuft. Der aktuelle Implicit Flow soll abgeschafft werden und durch den Code Flow abgelöst werden.
Implicit Flow
Beim Implicit Flow wird der Benutzer zu einem Authentifizierungsserver umgeleitet, wo er sich dann authentifizieren muss. Ist dieser Vorgang erfolgreich, wird der Benutzer mit einem access_token und ggf. refresh_token an die eigentliche Applikation zurückgeleitet.
Code Flow
Beim Code Flow wird der Benutzer ebenfalls zu einem Authentifizierungsserver umgeleitet, wo er sich dann authentifizieren muss. Ist der Vorgang erfolgreich, wird der Benutzer mit einem Code und Verifier an die Applikation zurückgeschickt. Danach erfolgt im Hintergrund eine POST-Anfrage zu dem Token-Endpunkt des Authentifizierungsservers, wo der Benutzer seinen Code gegen einen access_token und ggf. refresh_token einlösen kann.
Um diesen Flow schnell und einfach in bestehende Applikationen zu implementieren, gibt es diverse Bibliotheken, welche einem viel Aufwand bei der Implementierung abnehmen. Für SPA bzw. Angular Applikationen wurde bis jetzt gute Erfahrung mit der Bibliothek angular-oauth2-oidc gemacht. Implementierung für IdentityServer (.NET / .NET Core), Redhat's Keycloak (Java) und Auth0, als aber auch Azure Active Directory (Azure AD) sind möglich und gut dokumentiert.
Standort Hannover
newcubator GmbH
Bödekerstraße 22
30161 Hannover
Standort Dortmund
newcubator GmbH
Westenhellweg 85-89
44137 Dortmund