© Liashko/Shutterstock.com
Entwickler Magazin
Auf einen Streich Webseiten, Mobil- und Desktop-Apps absichern

Ich weiß, wer du bist

Eine Anforderung, die in wahrscheinlich jedem Projekt früher oder später auftaucht, ist die Feststellung der Identität Ihrer Anwender. Zur Erfüllung dieser Anforderung müssen Sie das Rad aber nicht neu erfinden: Erprobte Open-Source-Lösungen auf Basis der plattformoffenen Protokolle OAuth 2.0 und OpenID Connect bringen alles mit, was Sie für eine State-of-the-Art-Authentifizierung brauchen - und lassen sich in Webseiten, mobile Apps und klassische Desktopanwendungen integrieren.

Christian Liebel


In unserer Branche gibt es viele Dinge, die mehr als einmal implementiert wurden und an denen sich schon viele Entwickler die Zähne ausgebissen haben. Manchmal erfindet man sogar für jede neue Anwendung das Rad noch einmal komplett neu. Zu solcher Querschnittsfunktionalität gehört neben Logging, Dependency-Injection-Containern oder Benutzeroberflächenframeworks auch die Authentifizierung an Anwendungen, also die Feststellung der Identität Ihrer Anwender. Denn nichts ist leichter und schneller implementiert als eine Log-in-Maske. Zunächst – denn hinter den Formularfeldern für Benutzername und Passwort beginnt erst die eigentliche Komplexität. Wo sind meine Benutzerinformationen gespeichert und wie komme ich da ran? Wie „merke“ ich mir eine Benutzersitzung? Wie lege ich fest, was der Benutzer in meiner Anwendung darf? Was, wenn irgendwann einmal ein Single Sign-On via Google+ oder Twitter ins Spiel kommt? Bei genauerem Überlegen stößt man auf viele solcher Fragen, und die Komplexität des Themas offenbart sich.

Rund um das Thema Authentifizierung haben sich schon viele kluge Köpfe Gedanken gemacht und Best Practices in den Standards OAuth 2.0 [1] und OpenID Connect (OIDC) [2] niedergeschrieben. Diese beiden Protokolle gelten als State-of-the-Art-Lösung im Hinblick auf die Autorisierung bzw. Authentifizierung, nicht nur von menschlichen Benutzern, sondern auch von Anwendungen untereinander. Eine exemplarische Implementierung beider Protokolle liefert das Open-Source-Projekt IdentityServer3, eine .NET-basierte Server-Framework-Lösung mit Dominick Baier und Brock Allen als Hauptkontributoren.

In diesem Artikel zeige ich Ihnen, wie Sie den IdentityServer3 [3] über verschiedene Plattformen hinweg mit Webseiten, Mobil- und Desktop-Apps auf Basis von HTML5 und JavaScript sowie klassischen Desktopanwendungen (mit Windows Presentation Foundation) verwenden. Ganz im Sinne einer modernen Anwendungsarchitektur kommunizieren diese Clients über leichtgewichtige HTTP-Requests mit einem Web-API-basierten Server. Für dieses Szenario müssen Sie im Übrigen noch nicht einmal eine eigene Log-in-Maske implementieren – und schon gar nicht mehrmals.

Authentifizierung as a Service

Zum Haareschneiden gehen Sie zu einem Friseur, für Passfotos zu einem Fotografen und Ihr Auto bringen Sie zur Reparatur in eine Werkstatt? Nicht nur bei diesen drei Beispielen verlassen Sie sich auf fremde Anbieter mit Fachkompetenz, um ein bestimmtes Ziel zu erreichen und zugleich Aufwand oder eventuelle Ge...

Entwickler Magazin
Auf einen Streich Webseiten, Mobil- und Desktop-Apps absichern

Ich weiß, wer du bist

Eine Anforderung, die in wahrscheinlich jedem Projekt früher oder später auftaucht, ist die Feststellung der Identität Ihrer Anwender. Zur Erfüllung dieser Anforderung müssen Sie das Rad aber nicht neu erfinden: Erprobte Open-Source-Lösungen auf Basis der plattformoffenen Protokolle OAuth 2.0 und OpenID Connect bringen alles mit, was Sie für eine State-of-the-Art-Authentifizierung brauchen - und lassen sich in Webseiten, mobile Apps und klassische Desktopanwendungen integrieren.

Christian Liebel


In unserer Branche gibt es viele Dinge, die mehr als einmal implementiert wurden und an denen sich schon viele Entwickler die Zähne ausgebissen haben. Manchmal erfindet man sogar für jede neue Anwendung das Rad noch einmal komplett neu. Zu solcher Querschnittsfunktionalität gehört neben Logging, Dependency-Injection-Containern oder Benutzeroberflächenframeworks auch die Authentifizierung an Anwendungen, also die Feststellung der Identität Ihrer Anwender. Denn nichts ist leichter und schneller implementiert als eine Log-in-Maske. Zunächst – denn hinter den Formularfeldern für Benutzername und Passwort beginnt erst die eigentliche Komplexität. Wo sind meine Benutzerinformationen gespeichert und wie komme ich da ran? Wie „merke“ ich mir eine Benutzersitzung? Wie lege ich fest, was der Benutzer in meiner Anwendung darf? Was, wenn irgendwann einmal ein Single Sign-On via Google+ oder Twitter ins Spiel kommt? Bei genauerem Überlegen stößt man auf viele solcher Fragen, und die Komplexität des Themas offenbart sich.

Rund um das Thema Authentifizierung haben sich schon viele kluge Köpfe Gedanken gemacht und Best Practices in den Standards OAuth 2.0 [1] und OpenID Connect (OIDC) [2] niedergeschrieben. Diese beiden Protokolle gelten als State-of-the-Art-Lösung im Hinblick auf die Autorisierung bzw. Authentifizierung, nicht nur von menschlichen Benutzern, sondern auch von Anwendungen untereinander. Eine exemplarische Implementierung beider Protokolle liefert das Open-Source-Projekt IdentityServer3, eine .NET-basierte Server-Framework-Lösung mit Dominick Baier und Brock Allen als Hauptkontributoren.

In diesem Artikel zeige ich Ihnen, wie Sie den IdentityServer3 [3] über verschiedene Plattformen hinweg mit Webseiten, Mobil- und Desktop-Apps auf Basis von HTML5 und JavaScript sowie klassischen Desktopanwendungen (mit Windows Presentation Foundation) verwenden. Ganz im Sinne einer modernen Anwendungsarchitektur kommunizieren diese Clients über leichtgewichtige HTTP-Requests mit einem Web-API-basierten Server. Für dieses Szenario müssen Sie im Übrigen noch nicht einmal eine eigene Log-in-Maske implementieren – und schon gar nicht mehrmals.

Authentifizierung as a Service

Zum Haareschneiden gehen Sie zu einem Friseur, für Passfotos zu einem Fotografen und Ihr Auto bringen Sie zur Reparatur in eine Werkstatt? Nicht nur bei diesen drei Beispielen verlassen Sie sich auf fremde Anbieter mit Fachkompetenz, um ein bestimmtes Ziel zu erreichen und zugleich Aufwand oder eventuelle Ge...

Neugierig geworden?


   
Loading...

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