Es ist möglich, Benutzer durch einen oder mehrere externe Services oder 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 erstezt 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 VS-Solution.
Beispiel:
"ThirdPartyAuthentication": { "Microsoft": { "DiscoveryUrl": "https://login.microsoftonline.com/{tenant_id}/v2.0/.well-known/openid-configuration", "ClientId": "{client_id}", "ClientSecret": "{client_secret}", "RedirectUrl": "https://QuinoProject.com/api/v1/thirdParty/auth/callback", "Icon": "https://login.microsoftonline.com/static/tenant/templates/idp_logos/colored/microsoft.svg", "Caption": "Microsoft Login" } }
Schlüssel
DiscoverUrl
Diese URI wird durch das OpenID Connect Protokol vorgegeben.