Angular in der Praxis
()
About this ebook
Read more from Manfred Steyer
Agile Muster und Methoden: Agile Softwareentwicklung maßgeschneidert Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsAngular: Das Praxisbuch zu Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratings
Related to Angular in der Praxis
Titles in the series (100)
Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsTestwissen für Java-Entwickler Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5JavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsTitanium Mobile: Multi Platform Apps mit JavaScript Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsJava FX - Embedded Rating: 0 out of 5 stars0 ratings
Related ebooks
OAuth 2.0: Client & Server Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 17 Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsEnterprise Java Web Services Rating: 0 out of 5 stars0 ratingsMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem Rating: 0 out of 5 stars0 ratingsApps mit Azure Rating: 0 out of 5 stars0 ratingsBlockchain leicht gemacht: Die Technologie hinter Kryptowährungen verstehen Rating: 0 out of 5 stars0 ratingsPlattformsicherheit: Smart Contracts und TPM Rating: 0 out of 5 stars0 ratingsSo lernen Sie in 48 Stunden oder weniger etwas über Blockchain und Kryptowährungen Rating: 0 out of 5 stars0 ratingsBlockchain : Die Technologie, die den Handel verändern wird Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 20 Rating: 0 out of 5 stars0 ratingsBlockchain für Islamische Finanzen Rating: 0 out of 5 stars0 ratingsBlockchain für Anfänger Rating: 0 out of 5 stars0 ratingsAufsetzen, Testen und Betrieb einer Android-App Rating: 0 out of 5 stars0 ratingsMQTT im IoT: Einstieg in die M2M-Kommunikation Rating: 0 out of 5 stars0 ratingsBlockchain : Eine vollständige Geschichte Rating: 0 out of 5 stars0 ratingsKryptowährungen : Die neue Ära der Währungen für Unternehmen Rating: 0 out of 5 stars0 ratingsTesting mit Visual Studio 2012: Testing mit Visual Studio 2012 Rating: 0 out of 5 stars0 ratingsBitcoin Rating: 0 out of 5 stars0 ratingsBlockchain: Praktische Anwendungen, Praktisches Verständnis Rating: 0 out of 5 stars0 ratingsBlockchain & Kryptowährungen für Anfänger Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 15 Rating: 0 out of 5 stars0 ratingsMQL: Eine hierarchische Abfragesprache mit TypeScript erstellen Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsCSS: Grundlagen und Best Practices Rating: 0 out of 5 stars0 ratingsAngriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking Rating: 0 out of 5 stars0 ratingsDatenschutz Cloud-Computing: Ein Handbuch für Praktiker - Leitfaden für IT Management und Datenschutzbeauftragte Rating: 0 out of 5 stars0 ratingsBlockchain-Technologie in der Supply Chain: Einführung und Anwendungsbeispiele Rating: 0 out of 5 stars0 ratingsDie Zukunft der Blockchain Rating: 0 out of 5 stars0 ratings
Internet & Web For You
Ich Hacker – Du Script-Kiddy: Hacking und Cracking Rating: 0 out of 5 stars0 ratingsChatGPT Plus: Durchstarten in eine neue Welt: Entdecken Sie Künstliche Intelligenz mit ChatGPT Plus und GPT-4 Rating: 0 out of 5 stars0 ratingsGoogle Platz 1: Lernen Sie von einem der führenden Suchmaschinenoptimierer Deutschlands Rating: 0 out of 5 stars0 ratingsJoomla 4.0 logisch!: Einfache Webseitenerstellung ohne Programmierkenntnisse Rating: 0 out of 5 stars0 ratingsSEO mit Google Search Console: Webseiten mit kostenlosen Tools optimieren Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratings30 Minuten Metaverse Rating: 0 out of 5 stars0 ratingsEinfach Verschlüsseln Rating: 0 out of 5 stars0 ratingsWas kommt. Was geht. Was bleibt.: Kluge Texte über die wichtigsten Fragen unserer Zeit Rating: 0 out of 5 stars0 ratingsReact lernen und verstehen Rating: 0 out of 5 stars0 ratingsDas Facebook-Marketing-Buch Rating: 4 out of 5 stars4/5So findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Rating: 0 out of 5 stars0 ratingsDer Content Faktor: Schreiben Sie Texte, die gefunden und gelesen werden Rating: 0 out of 5 stars0 ratingsPHP für WordPress: Themes und Templates selbst entwickeln Rating: 0 out of 5 stars0 ratingsSEO & WordPress Schnelleinstieg: Plugins, Keywords-entscheidend für die SEO Optimierung Rating: 0 out of 5 stars0 ratingsDas kleine Hypnose Einmaleins - Alles was Sie schon immer über die Hypnose wissen wollten von Ewald Pipper vom Hypnoseinstitut Rating: 0 out of 5 stars0 ratingsSchnelleinstieg WordPress SEO: Einstellungen, Keywords, Plug-ins und Strategien für optimales SEO Rating: 0 out of 5 stars0 ratingsPraxisbuch WordPress Themes Rating: 0 out of 5 stars0 ratingsSECURITY AWARENESS: Leitfaden zur IT-Sicherheit für Anwender Rating: 0 out of 5 stars0 ratingsMQTT im IoT: Einstieg in die M2M-Kommunikation Rating: 0 out of 5 stars0 ratingsEinstieg in WordPress Rating: 0 out of 5 stars0 ratingsUX Design - Definition und Grundlagen: Definition und Grundlagen Rating: 4 out of 5 stars4/5WordPress-Themes entwickeln: HTML5, CSS3, JavaScript und PHP: Praxiswissen und Quellcodes zum Entwurf von WordPress-Themes Rating: 0 out of 5 stars0 ratingsUX-Missverständnisse: Was sich User wirklich wünschen Rating: 0 out of 5 stars0 ratingsShopware 6 Handbuch Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsPR im Social Web: Das Handbuch für Kommunikationsprofis Rating: 0 out of 5 stars0 ratings55 Artikelideen für Ihr Blog (Tipps für attraktive Blogposts und erfolgreiches Bloggen) Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratings
Reviews for Angular in der Praxis
0 ratings0 reviews
Book preview
Angular in der Praxis - Manfred Steyer
GmbH
1 Authentifizierung und Autorisierung mit Angular 2.0
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.
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. Dieses Kapitel 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.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.
Abbildung 1.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 Aussteller, das Ausstellungsdatum oder die Gültigkeitsdauer. Diese vom Prinzip her einfache Vorgehensweise hat mehrere Vorteile. Jeder Benutzer kann ein zentrales Benutzerkonto für verschiedene Clients und Services nutzen. Da die Anmeldung beim Authorization-Server erfolgt, erhält der Client das Passwort nicht. Die Authentifizierung ist vom Client entkoppelt und lässt sich somit in bestehende Identity-Lösungen integrieren. Tokens erhöhen außerdem die Flexibilität. Beispielsweise könnte ein Service das Token an einen weiteren Service weiterreichen, um zu beweisen, dass er im Namen des Benutzers agiert. Zum Zugriff auf andere Sicherheitsdomänen kann der Service das Token auch gegen eines für diese Domäne tauschen. Die Lösung kommt ohne Cookies aus. Somit kann der Client auch auf Services zugreifen, die auf anderen Servern laufen oder eine andere Origin haben. Zusätzlich schränkt der Verzicht auf Cookies bestimmte Angriffe ein.
Das Format des Access-Tokens sowie die Maßnahmen, die der Resource-Server zum Validieren des Tokens unternimmt, sind von OAuth 2.0 nicht näher beschriebene Implementierungsdetails. Häufig kommen digitale Signaturen zum Einsatz, damit der Resource-Server einfach prüfen kann, ob das Token von einem vertrauenswürdigen Authorization-Server stammt. Alternativ dazu könnte das Token auch nur aus einer nicht vorhersehbaren ID bestehen, mit welcher der Resource-Server sich erneut an den Authorization-Server wendet.
Benutzer mit OpenID Connect authentifizieren
Als Ergänzung zu OAuth 2.0 definiert OpenID Connect (OIDC) unter anderem, wie der Client Informationen über den Benutzer bekommen kann. Diesen Aspekt deckt OAuth 2.0 nicht ab. Selbst das ausgestellte Token muss für den Client nicht lesbar sein. Dazu spezifiziert OIDC unter anderem ein so genanntes