Authentifizierung durch einen externen Anbieter

Es ist möglich, Benutzer durch einen oder mehrere externe Anbieter zu authentifizieren. Dies kann den Login-Prozess verkürzen und vereinfachen. Zusätzlich ermöglicht diese Art der Authentifizierung sogenannte Single-Sign-On Szenarien.

Anforderungen

Konfiguration

Die Registration der verschiedenen externen Anbietern erfolgt in der appsettings.json -Datei der Server-Solution. Dazu muss ein neuer Block mit dem Schlüssel ThirdPartyAuthentication hinzugefügt werden.

Beispiel:

Der Schlüssel “Microsoft“ ist hier nur ein Beispiel und kann durch einen beliebigen Text ersetzt werden. Er dient lediglich als interner Identifikator.

"ThirdPartyAuthentication": { "Microsoft": { "DiscoveryUrl": "https://login.microsoftonline.com/{tenant_id}/v2.0/.well-known/openid-configuration", "ClientId": "{client_id}", "ClientSecret": "{client_secret}", "RedirectUrl": "https://{your_application_uri}/api/v1/thirdParty/auth/callback", "Icon": "https://login.microsoftonline.com/static/tenant/templates/idp_logos/colored/microsoft.svg", "Caption": "Microsoft Login" }, {...} }

Schlüssel

DiscoveryUrl

Diese URI wird durch das OpenID Connect Protokol vorgegeben und ermöglicht das automatische Abrufen der verschiedenen Endpunkte für Authentifizierung, Benutzerprofil, etc.

ClientId

Die Client-Id wird von Ihrem Anbieter ausgestellt und identifiziert Ihre OpenID Connect Instanz.

ClientSecret

Das Client-Secret wird von Ihrem Anbieter ausgestellt und dient als Passwort zur Authentifizierung Ihrer OpenID Connect Instanz.

RedirectUrl

An diese URI wird eine Nachricht gesendet, nachdem sich der Benutzer erfolgreich am externen Anbieter angemeldet hat.

Icon

Das Icon welches auf der linken Seite des alternativen Login-Buttons des Client’s angezeigt wird. Der Wert kann eine URI, BASE64, SVG oder CSS-Klasse sein.

Caption

Der Text, welcher innerhalb des alternativen Login-Buttons des Client’s angezeigt wird. Es kann ebenfalls ein Übersetzungsschlüssel angegeben werden.

Resultat

Nach erfolgter Konfiguration und einem Neustart des Servers, ergänzt sich der Login-Dialog automatisch mit den alternativen Login-Buttons.

Beispiel: