1. Angular-User Group Meetup, Nürnberg Authentifizierung mit Angular JS und Microservices Wie man durch Verwendung eines Identity & Access Management (IAM) Systems Zeit spart und dazu noch amtliche Sicherheit in seine Angular 2 Anwendung integriert. ▪ Unser „Beziehungsstatus‘ zu Angular 2 ▪ Welche Aufgaben nimmt mir ein IAM-System ab? ▪ Produkte & Standards ▪ Login ▪ Routen ▪ Erweiterte Security ▪ Microservices in Java, Javascript und Python ▪ Für beliebige Cloud- Infrastrukturen ▪ Training-on-the-Job in der Consort Academy Umfeld Sicherheit im Web: OAuth Mit der Cloud hat sich das Thema „Sicherheit‘ zur Priorität 1 entwickelt. Dabei kommen immer mehr Szenarien (WebRTC, IoT-Devices, …) und aktive Tätigkeiten (Audits, ständige Überwachung auf Auffälligkeiten, …) hinzu, die die Entwickler unterstützen müssen. Beispiel OAuth-Flows (rechts) OAuth Infrastruktur Kann man selber betreiben – muss man aber nicht… Identity Store PolicyDecision Point Beispiel heute: Welche Komponenten sind beteiligt? JWT / OAuth Angular 2 Microservice Webpack 2 nodeJS Authorization Admin-UI Identity Server & API Store Identity & Access Management Warum ist Identity Management für uns ein Thema? Unsere Projekte verlangen immer eine Benutzerverwaltung – die üblicherweise in die xxx-Directory-Infrastruktur des Kunden eingebunden werden muss. Das ganze haben wir gefühlt schon 1.000 x getan: - Registrierungs- und Login-Formulare programmieren - Datenbank für Benutzer aufsetzen (User-DB, SSO-Provisionierung) - Admin-UI auf Datenbank schreiben - Login in xxx-Framework des Projekts einbinden - Email-Templates für Registrierungs-Bestätigung schreiben - Login-Vergessen und Password-Ändern-Formulare und Logik schreiben - Sich mit Session- und Url-Management der Kunden-Infrastruktur auseinandersetzen - Mit Sicherheitsbeauftragten des Kunden rumkämpfen Auth0 als Beispiel für eine IAM-Lösung Es gibt viele verschiedene Lösung für Identity und Access-Management, die meisten sind richtig teuer: https://solutionsreview.com/identity-management/identity-management-solutions-directory/ Warum Auth0? ▪ Extrem Entwicklerfreundlich (viele Tutorials für alle bekannten Programmiersprachen, Community, alles über API etc.) ▪ ☺ Extrem Entwicklerfreundlich (is Absicht ) ▪ Kostenlos für den kommerziellen Einsatz bis 5.000 Anmeldungen pro Tag ▪ Cloud-basiert ▪ Hält sich als Startup an Standards (JWT, Oauth, …) ▪ Bietet in der Bezahlversion viele Konzern-Integrationsmöglichkeiten: - SSO - Anomaly Detection - Active Directory Integration - 2 Faktor-Authentifizierung - … In welchen Projekten macht Auth0 uns das Leben leichter? https://aws.amazon.com/de/blogs/apn/how-to-integrate-rest-apis-with-single-page-apps-and-secure-them-using-auth0-part-1/ JWT (JSON Web Token) ▪ Ersetzt das gute alte Session-Cookie und Basic-Auth im authorization- Header ▪ Verschlüsselt (optional) & Signiert ▪ Zeitlich limitiert ▪ Arbeitet über https/OAuth ▪ Transportiert bestimmte (öffentliche) Informationen zur angemeldeten Identity ▪ Zum Verarbeiten benötigt man Libs für das Handling der Algorithmen HS256 (symm.) und RS256 (assym.) ▪ Token wird z. B. bei einem Angular-Client im Local-Storage gespeichert
Description: