...
...
...
Table of Contents |
---|
Übersicht
Der ECUI Server kann neben der eigentlichen Web-Applikation auf Wunsch auch einen Single Sign-On (SSO) Server (IdP) auf der Basis des OpenID Connect Protokolls zur Verfügung stellen. So kann rund um die Portal-Lösung eine Single Sign-On Infrastruktur implementiert werden. In einem solchen Szenario verwendet das Portal natürlich selber auch die SSO Infrastruktur.
...
verwendet werden. In beiden Fällen werden alle User in einer zentralen Datenbank verwaltet, sie . Sie bekommen aber je nach Zugangsberechtigung für die einzelnen Produkte angepasste Berechtigungen. Diese Berechtigungen können entweder manuell administriert oder im Rahmen eines entsprechenden Auftrages aus vorhandenen Kundendaten automatisch abgeleitet/generiert werden.
Die Implementation folgt der folgenden OpenID Connect Spezifikationen: Final: OpenID Connect Core 1.0 incorporating errata set 1.
Glossar
Abkürzung | Begriff | Erklärung | |||
---|---|---|---|---|---|
OIDC | OpenID Connect | Das Protokoll das verwendet wird um den Authentifizierungsprozess durchzuführen | |||
IdP | Identity Provider | In diesem Fall , Quinoder ECUI Server | |||
RP | Anwendung, Relying party | Token | Authentifizierungsabläufe | Party | Die Client-Anwenung resp. deren Server |
Scope | Ein Set Satz an Eigenschaften das der angefordert werden kann | ||||
SPA | Single Page Applikation | Art von Web-Applikation |
Weitere OpenID relevante Abkürzungen finden sich hier.
Unterstützte Authentifizierungsabläufe
Die vorliegende Implementation unterstützt die folgenden Authentifizierungsabläufe:
Endpunkte
Die folgenden Endpunkte
...
Kurze übersicht über alle OIDC Endpunkte.
...
stehen zur Verfügung:
URL | Zweck | |
---|---|---|
|
...
Konfiguration | Beispiel, siehe Quino10 Sandbox openid-configuration |
...
...
|
...
Token | |
|
...
Authorization | |
|
...
Logout | |
| User info |
...
|
Menu im ECUI
...
Anwendungen - Liste von allen registrierten Anwendungen
...
JWT Konfiguration |
Unterstütze Scopes
Scope | Zweck |
---|---|
openid | Benötigt: Liefert das Subject bei der User info |
Liefert die email bei der User info | |
phone | Liefert die telefonnummer bei der User info |
roles | Liefert die rollen bei User info |
profile | Liefert infos wie name, benutzername bei der User info |
Anwendung
Damit sich eine externe Anwendung über den Quino IdP ECUI Server anmelden kann. Muss ein Datensatz für , muss diese Anwendung vorhanden entpsprechend konfiguriert sein. Die local Anwendung ist der Anwendung local entspricht dabei dem vorkonfigurierten Datensatz für das login Login über das die eigentliche ECUI Applikation.
Note |
---|
Es |
...
wird stark empfohlen mit |
...
dieser Konfiguration nicht zu experimentieren. |
...
Konfiguration
Die folgende Menüstruktur steht für die Konfiguration von Applikationen welche OpenID benutzen möchten zur Verfügung:
Anwendungen - Eine Liste aller registrierten Anwendungen
Autorisierungen - Liste aller registriertenAutorisierungen
Tokens - Liste der herausgegebenen Tokens
...
Client Id
Jede Anwendung benötigt eine client id, diese wird verwendet um die Anwendung eindeutig zu identifizieren. Für Details wird auf die Spezifikation verwiesen.
Anzeigenamen
Dieser Name wird dem Benutzer angezeigt wenn er sich Anmeldetanmeldet respektive die entsprechende Einwilligung abgefragt wird.
Anwendungstyp
Dieses Feld kann zwei Werte haben:
confidental
Die Anwendung hat ein client secretClient Secret, das heisst das client secret Client Secret muss gesetzt werden und auch von der externen Anwendung mitgeschickt werden.
public
Die Anwendung verwendet kein client secret, das heisst es wird einfach ignoriertClient Secret da es nicht möglich ist dieses sinnvoll einzusetzen. Beispielsweise bei Applikationen welche als SPA konzipiert sind.
Für Details wird auf die Spezifikation verwiesen.
Client Secret
Dieses Feld muss nur gesetzt werden wenn der Anwendungstyp ‘confidental’ ist. Dieses muss auch von externen Anwendungen mitgeschickt werden wenn diese den login prozess Prozess starten möchten.Hier ist zu empfehlen einen zufällig generierten wert zu nehmen
Note |
---|
Es muss ein zufällig generierter Wert verwendet werden. |
Für Details wird auf die Spezifikation verwiesen.
Berechtigungen
Ein JSON array von gegebenen Berechtigungen. Wird eine neue Anwendung erstellt, werden per default alle aufgeführt.
Präfixe
ept - Endpunkte Berechtigungen
gt - Grant Berechtigungen
rst - Antworttyp Berechtigungen
scp - Scope Berechtigungen
Liste
Wert | Beschreibung | Empfohlen |
---|---|---|
ept:authorization | Erlaubt zugriff auf den Authorization-Endpunkt | Ja |
ept:logout | Erlaubt zugriff auf den Logout-Endpunkt | Ja |
ept:token | Erlaubt zugriff auf den Token-Endpunkt | Ja |
gt:authorization_code | Erlaubt das verwenden des ‘Authorization Code’ Grant | Ja |
gt:client_credentials | Erlaubt das verwenden des ‘Client Credentials’ Grant | Ja |
gt:implicit | Erlaubt das verwenden des Impliziten Grant | Nein |
gt:password | Erlaubt das verwenden des Passwort Grant | Nein |
gt:refresh_token | Erlaubt das verwenden des Token erneuerungs Grant | Ja |
rst:code | Erlaubt das verwenden des Antwort-Typ ‘code’ | Ja |
rst:code id_token | Erlaubt das verwenden der kombination von ‘code’ und ‘id_token’ Antworttypen | - |
rst:code id_token token | Erlaubt das verwenden der kombination von ‘code’, ‘id_token’, und ‘token’ Antworttypen | - |
rst:code token | Erlaubt das verwenden der kombination von ‘code’ und ‘token’ Antworttypen | - |
rst:id_token | Erlaubt das verwenden des Antwort-Typ ‘id_token’ | Ja |
rst:id_token token | Erlaubt das verwenden der kombination von ‘id_token’ und ‘token’ Antworttypen | Ja |
rst:none | Erlaubt das verwenden des Antwort-Typ ‘none’ | - |
rst:token | Erlaubt das verwenden des Antwort-Typ 'token' | Ja |
scp:address | Erlaubt das verwenden des scopes Adresse | - |
scp:email | Erlaubt das verwenden des scopes Email | Ja |
scp:phone | Erlaubt das verwenden des scopes Telefon | - |
scp:profile | Erlaubt das verwenden des scopes Profil | Ja |
scp:roles | Erlaubt das verwenden des scopes Rollen | - |
Weiterleitungs
...
URLs
Weiterleitungs urls
Ein JSON array von gültigen weiterleitungs urlsURLs, auf die welche diese Anwendung weiterleiten darf, wenn das login Login erfolgreich war. Die URL muss gemäss Spezifikation erfasst werden.
Postlogout Weiterleitungs
...
URLs
JSON array von gültigen weiterleitungs urlsURLs, auf die welche diese Anwendung weiterleiten darf nach dem logoutLogout.
Tokens
Hier sind Listet alle mit dieser Anwendung assoziierten Tokens. Pro Anmeldung wird ein neues Token generiert.
...
...
Autorisierungen
Hier sind Listet alle für diese Anwendung gegebenen AuthorisationenAutorisierungen. Dies beinhalten auch eine allenfalls erteilte Zustimmung für eine Applikation, um auf die Daten des Benutzer im definierten Umfang zuzugreifen .
...
...
Weiterführende Links
Quino Entwickler Dokumentation
Quino Web 10 (main) Developer Documentation (Nur für Entwickler erreichbar)
Quino Web 9 (release/9) Developer Documentation (Nur für Entwickler erreichbar)