Clients und vertrauenswürdige Dienste

Wenn man Komponenten mit dem Identity Service integriert, muss man zwischen zwei Arten von Komponenten unterscheiden:

Clients

Üblicherweise Browser-basierte Anwendungen, die die Anmeldung einer Person an den Identity Service delegieren und Tokens oder Cookies vom Identity Service beziehen und weiterleiten.

Vertrauenswürdige Dienste

Backend-Komponenten, die Tokens oder Cookies von Clients erhalten, und den den Identity Service anfragen um diese zu validieren und zugehörige Account-Informationen abfragen.

Clients

Clients sind typischerweise Web-Anwendungen, die den Identity Service nutzen, um die Anmeldung von Personen zu veranlassen. Sie fragen Tokens vom Identity Service ab und leiten diese an vertrauenswürdige Dienste weiter, wenn sie auf diese zugreifen. Clients können beim Identity Service abfragen, ob eine URL zu den vertrauenswürdigen Diensten gehört und auf welche Art sie Tokens an diesen Dienst weiterleiten müssen.

map.apps ist ein Beispiel für einen solchen Client. map.apps leitet Tokens uns Cookies bei der Abfrage von Kartendiensten in Apps weiter.

Vertrauenswürdige Dienste

Vertrauenswürdige Dienste verarbeiten Tokens oder Cookies, die Clients in Dienstanfragen mitschicken. Dazu validieren Sie das Token oder Cookie beim Identity Service und fragen Account-Informationen für die zugehörige authentifizierte Person ab, zum Beispiel die zugeordneten Rollen.

Zu den vertrauenswürdigen Diensten, die Tokens oder Cookies erhalten, gehören typischerweise Dienste wie ArcGIS Enterprise Server, GeoServer oder security.manager OGC. Sie führen auf Basis der erhaltenen Account-Informationen eine Autorisierung durch.

Ein Dienst, der den Identity Service verwendet, muss als vertrauenswürdiger Dienst konfiguriert werden, damit Clients Tokens für diesen Dienst beziehen und an diesen weiterleiten können.

Es gibt auch Komponenten, die sowohl als Client als auch als Dienst agieren können, zum Beispiel map.apps. Das Produkt besitzt neben der Web Oberfläche, die als Client agiert, auch Backend-Komponenten, die als Dienst agieren und Tokens oder Cookies auswerten, zum Beispiel um den Zugriff auf App-Konfigurationen zu autorisieren.