Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Es ist möglich, Benutzer durch einen oder mehrere externe Services / Anbieter zu authentifizieren. Dies kann den Login-Prozess verkürzen und vereinfachen, bietet aber eine grössere Angriffsfläche für böswillige Akteure.

Anforderungen

  • Aktuell wird nur das OpenID Connect Protokoll unterstüzt

  • Standardmässig, müssen die Benutzer in der Applikation vorhanden sein. Der gemeinsame Nenner dabei ist die E-Mail Adresse. Dies kann durch eine eigene Implementation erweitert werden, um z.B. eine “silent registration“ zu ermöglichen. Mehr dazu im TODO

Konfiguration

Die Registration der verschiedenen Services / 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 dient dazu, dass die verschiedenen Endpunkte für Authentifizierung, Benutzerprofil etc. abzurufen.

ClientId

Die Client-Id wird von ihrem Service / Anbieter ausgestellt und identifiziert Ihre OpenID Connect Provider Instanz.

ClientSecret

Die Client-Secret ist bei Ihrem Service / Anbieter ersichtlich und dient als Passwort, um diesen zu benutzen zu können.

RedirectUrl

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

Icon

Das Icon welches auf der linken Seite des neuen alternativen Login-Buttons auf dem Client angezeigt wird. Der Wert kann ein URI, Base64, SVG oder CSS-Klasse sein.

Caption

Der Text, welcher inerhalb des neuen alternativen Login-Buttons auf dem Client angezeigt wird.

  • No labels