Vertrauenswürdige Dienste konfigurieren

Über den Identity Service können Anwendungen, die mit dem Identity Service verbunden sind, Tokens für den Zugriff auf vertrauenswürdige Dienste beziehen. Vertrauenswürdige Dienste wiederum können auf Basis des Tokens, das sie von einer Anwendung erhalten, Informationen über die angemeldete Person beim Identity Service abfragen und den Zugriff autorisieren. Beispiele für vertrauenswürdige Dienste sind ArcGIS Enterprise Server mit nicht-öffentlichen Diensten oder der map.apps SDI Save State Service.

Konfiguration

Damit ein Dienst als vertrauenswürdig gilt und Anwendungen Tokens für diesen Dienst abfragen können, müssen Sie ihn im Identity Service registrieren. Sie registrieren einen vertrauenswürdigen Dienst, indem Sie dessen Anfrage-URL dem Konfigurationsparameter security.oauth.tokenRules des Identity Service hinzufügen:

# .identity-service/application.properties
security.oauth.tokenRules=https://www.example.com/my-trusted-service

Beispiel: map.apps

map.apps als JavaScript Browser-Anwendung benötigt Zugriff auf map.apps Backend-Dienste beispielsweise für die Verwaltung von Apps, Bundles oder Berichten. Wenn Sie map.apps zusammen mit dem Identity Service verwenden, müssen Sie auch map.apps als vertrauenswürdigen Dienst konfigurieren, damit z.B. die Zugriffe auf Apps Nutzer-spezifisch autorisiert werden können.

security.oauth.tokenRules=https://www.example.com/mapapps

Beispiel: ArcGIS Server

In diesem Beispiel gehen wir davon aus, dass Sie ArcGIS Enterprise-Portal als Identitätsanbieter verwenden und map.apps mit dem Identity Service verbunden ist. Wenn Sie Anwendungen wie map.apps oder smart.finder Zugriff auf nicht-öffentlich Dienste eines ArcGIS Verbundserver (federated ArcGIS Server) gewähren wollen, müssen Sie den Verbundserver als vertrauenswürdigen Dienst konfigurieren.

security.oauth.tokenRules=https://arcgis.example.com/server,TOKEN;https://www.example.com/mapapps

Sollte das Portal mit mehreren Verbundservern verbunden sein, müssen Sie jeden einzelnen Verbundserver in die Konfiguration aufnehmen.

security.oauth.tokenRules=https://arcgis1.example.com/server;https://arcgis2.example.com/server,TOKEN;https://www.example.com/mapapps

Beispiel: ArcGIS Online

In diesem Beispiel gehen wir davon aus, dass Sie ArcGIS Online als Identitätsanbieter verwenden und map.apps mit dem Identity Service verbunden ist. Damit Dienste, die in Ihrer Organisation in ArcGIS Online veröffentlicht werden, durch map.apps verwendet werden können, geben Sie die URL wie folgt an:

security.oauth.tokenRules=https://services.arcgis.com/<organization-id>/arcgis,TOKEN;https://www.example.com/mapapps

Um die entsprechende URL Ihrer Organisation zu ermitteln, gehen Sie wie folgt vor:

  1. Wechseln Sie in ArcGIS Online zum Tab Inhalt und klicken Sie auf einen Dienst Ihrer Organisation.

  2. In der Übersicht des Dienstes finden Sie die URL des Dienstes z.B. https://services.arcgis.com/ObdACOfl4Z5LP2D0/arcgis/rest/services/TestLayer/FeatureServer

  3. Kopieren Sie den für die Konfiguration benötigten Teil. Er lautet in diesem Beispiel ObdACOfl4Z5LP2D0.

Konfigurieren Sie den Parameter security.oauth.tokenRules nun indem Sie den Platzhalter <organization-id> ersetzen, zum Beispiel wie folgt:

security.oauth.tokenRules=https://services.arcgis.com/ObdACOfl4Z5LP2D0/arcgis,TOKEN;https://www.example.com/mapapps

Wenn Sie Dienste aus mehr als einer Organisation verwenden möchten, so müssen Sie alle URL’s mit Komma getrennt auflisten:

security.oauth.tokenRules=https://services.arcgis.com/<organization1-id>/arcgis,https://services.arcgis.com/<organization2-id>/arcgis,TOKEN;https://www.example.com/mapapps