Kürzlich haben wir ein Entwickler-Webinar zum grundlegenden Thema Identity Management gehalten. Die ArcGIS-Plattform bietet eine Reihe von Identity Management-Optionen, was ein wichtiger Unterscheidungsfaktor und Vorteil bei der Entwicklung Ihrer Apps mit Esri ist.
Hintergrund
Es gibt zwei Hauptformen von OAuth (zur Ermöglichung der Benutzer- und App-Authentifizierung). Die Umsetzung variiert je nachdem, ob Sie mit einem Server-Client, Browser-Client oder Mobile Client arbeiten und ob Sie eines der sieben ArcGIS-Entwicklerprodukte verwenden. Wenn Sie ArcGIS-Entwicklerprodukte übernommen haben, enthalten diese jeweils native Unterstützung für OAuth und die anderen in diesem Blog besprochenen Identity Management-Muster.
Das Ziel dieses Webinars war:
- Die Identity Management-Optionen für ArcGIS näher erläutern
- Die Geschäftsstrategien zur Unterstützung des Identity Management hervorheben (siehe nächsten Abschnitt)
- Die technischen Strategien zur Verwaltung von Benutzern (OAuth und Enterprise Logins) innerhalb maßgeschneiderter SaaS- und OEM-Anwendungen demonstrieren, um ein möglichst reibungsloses Login-Erlebnis zu bieten.
Zusammenfassend sind einige der Geschäftsstrategien, über die man nachdenken sollte:
- Bieten Sie die richtigen Identity Management-Option(en) an, die zu Ihrem Markt passen
- Reduzieren Sie variable Kosten im Zusammenhang mit Geocoding-, Routing-, Demografie-, Höhen- und räumlichen Analyse-Diensten, indem Sie den API-Credit-Verbrauch von Ihrer App auf ArcGIS-Benutzer verlagern
- Minimieren Sie Verantwortlichkeiten und Risiken im Zusammenhang mit Passwortverwaltung
- Zugriff auf ArcGIS-Benutzerprofilinformationen und deren einzigartige Inhalte zur Unterstützung Ihrer Apps
- Vereinfachen Sie die App-Entwicklung durch Klassen und Methoden aus Esris APIs/SDKs
- Erzielen Sie verkaufbare Mehrwerte, wenn Sie zu ArcGIS beitragen, wodurch die Nutzung von Apps wie Collector, Ops Dashboard, ArcGIS Pro und ArcGIS for Desktop möglich wird
Technischer Überblick
Der Schlüssel zur Umsetzung einer technischen Strategie hängt weitgehend davon ab, Ihre eigenen Identity Management-Fähigkeiten zu verstehen und vor allem die spezifischen Bedürfnisse der Kunden zu kennen. Ein kurzer Überblick über das Umfeld zeigt, dass es keine einzelne Lösung für das Identitätsmanagement gibt, weshalb die ArcGIS-Plattform so viele Industriestandards in diesem Bereich unterstützt – wie OAuth, LDAP, SAML, IWA, PKI und andere Web-Tier-Protokolle, die in Webserver integriert sind.
Wie wir in unserem Webinar erwähnt haben, werden Sie bei der Planung einer Mash-up-Lösung mit einem anderen SaaS-Anbieter viel Zeit damit verbringen, darüber nachzudenken, wie ein Single Sign-On (oder nahezu Single Sign-On) Erlebnis realisiert werden kann. Konkret ein Erlebnis, das Ihre Identity Management-Funktionen mit ArcGIS-Benutzerkonten verbindet. Die gute Nachricht ist, dass es Möglichkeiten dafür gibt. Wenn Sie ein Muster wie Enterprise Logins wählen, ist ein Großteil dieser Arbeit bereits erledigt, insbesondere wenn Sie ein ArcGIS-Entwicklerprodukt gewählt haben. Es ist auch möglich, Ähnliches mit OAuth zu erreichen.
Viele große Organisationen verwenden folgende Enterprise Login-Muster:
Enterprise Logins
Um eines der oben genannten Enterprise Logins zu prototypisieren, müssen Sie ArcGIS-Software wie Portal for ArcGIS und den ArcGIS Web Adaptor bereitstellen und die entsprechenden Konfigurationen mit Nicht-Esri-Technologie einrichten. Zum Beispiel aktivieren Sie die integrierte Windows-Authentifizierung in Microsoft IIS oder LDAP in TomCat und richten eine Entwicklungsumgebung ein. Die Wahl von SAML erfordert das Einrichten eines SAML-Servers oder die Verbindung zu einem bestehenden Anbieter. In Fällen, in denen das Identity Management-Muster Teil von ArcGIS Online ist, sind weniger Schritte erforderlich.
Die obige Tabelle enthält Links zur Implementierungserklärung. Zusätzlich finde ich es hilfreich, auf die Produktinstallationsanleitungen zurückzugreifen, um bei den Einrichtungsschritten zu unterstützen. http://server.arcgis.com/en/documentation/install/
OAuth
Alternativ möchten Sie möglicherweise OAuth unterstützen. OAuth ist in ArcGIS integriert und beinhaltet ein Muster, das Anwendungen ermöglicht, direkt über die App auf Premium-Karten-, Analyse- und Datendienste zuzugreifen. Zusätzlich bietet OAuth ein Muster an, das es ArcGIS-Benutzern erlaubt, sich mit ihren Konten zu verbinden. Aus Sicht eines kleinen bis großen Unternehmens hat das Ermöglichen der Kundenverbindung zu ihren Konten auf diese Weise den Vorteil, Betriebskosten auszugleichen, indem der API-Credit-Verbrauch von Ihrer App auf den Benutzer verlagert wird.
Abschließend – da ich Blogs mit etwas Code mag – hier eine Beispiel-Webanwendung, die zeigt, wie man zwei SaaS-Konten miteinander verbindet. Sobald eine Verbindung zwischen ArcGIS und Ihrem SaaS hergestellt ist, wird Ihr Kunde bei jeder Anmeldung automatisch auch bei ArcGIS angemeldet.
Es ist wichtig zu beachten, dass das untenstehende Beispiel für Anwendungscode das OAuth Server-Muster innerhalb einer webbasierten PHP- und JavaScript-Anwendung implementiert.
Code-Beispiele: https://github.com/phpmaps/ouath-server-pattern-with-arcgis/blob/master/server-pattern-oauth/index.php