Onlangs hebben we een ontwikkelaarswebinar gegeven over het fundamentele onderwerp Identity Management. Het ArcGIS-platform biedt een reeks Identity Management-opties, wat een belangrijk onderscheidend kenmerk en voordeel is van het ontwikkelen van uw apps met Esri.
Achtergrond
Er zijn twee belangrijke vormen van OAuth (die gebruikersauthenticatie en app-authenticatie mogelijk maken). De implementatie hiervan varieert afhankelijk van of u werkt met een server-client, browserclient of mobiele client en of u een van de zeven ArcGIS-ontwikkelaarsproducten gebruikt. Als u ArcGIS-ontwikkelaarsproducten hebt aangenomen, bevat elk daarvan native ondersteuning voor OAuth en de andere Identity Management-patronen die in deze blog worden besproken.
Het doel van dit webinar was om:
- De Identity Management-opties voor ArcGIS toe te lichten
- De bedrijfsstrategieën die Identity Management ondersteunen te benadrukken (zie volgende sectie)
- De technische strategieën achter het beheren van gebruikers (OAuth en Enterprise Logins) binnen op maat gemaakte SaaS- en OEM-toepassingen te demonstreren, waarbij een zo soepel mogelijke login-ervaring wordt geleverd.
Samenvattend zijn enkele van de bedrijfsstrategieën om over na te denken:
- Bied de juiste Identity Management-optie(s) aan die passen bij uw markt
- Verminder variabele kosten die verband houden met het gebruik van Geocoding-, Routing-, Demografische-, Elevatie- en Ruimtelijke Analyse-services door API-creditverbruik van uw app naar ArcGIS-gebruikers over te dragen
- Minimaliseer verantwoordelijkheden en risico's met betrekking tot wachtwoordbeheer
- Toegang tot ArcGIS-gebruikersprofielinformatie en hun unieke inhoud om uw apps aan te drijven
- Vereenvoudig app-ontwikkeling met behulp van klassen en methoden uit Esri's APIs/SDKs
- Verkrijg verkoopbare meerwaarde door bij te dragen aan ArcGIS, waardoor het mogelijk wordt apps zoals Collector, Ops Dashboard, ArcGIS Pro en ArcGIS for Desktop te gebruiken
Technisch Overzicht
De sleutel tot het implementeren van een technische strategie hangt grotendeels af van het begrijpen van uw eigen identity management-mogelijkheden en nog belangrijker het begrijpen van de specifieke behoeften van klanten. Een snelle blik op het landschap laat zien dat er geen enkele oplossing is voor identity management, daarom ondersteunt het ArcGIS-platform zoveel industriestandaarden op dit gebied – zoals OAuth, LDAP, SAML, IWA, PKI en andere weblaagprotocollen ingebouwd in webservers.
Zoals we in ons webinar hebben vermeld, zult u bij het plannen van een mash-up met een andere SaaS-provider veel tijd besteden aan nadenken over hoe u een single sign-on (of bijna single sign-on) ervaring kunt bieden. Specifiek een ervaring die uw Identity Management-functies koppelt aan ArcGIS-gebruikersaccounts. Het goede nieuws is dat er manieren zijn om dit te doen. Bij het kiezen van een patroon zoals Enterprise Logins is veel van dat zware werk al gedaan, vooral als u hebt gekozen voor een ArcGIS-ontwikkelaarsproduct. Het is ook mogelijk om vrijwel hetzelfde te bereiken met OAuth.
U zult veel grote organisaties vinden die de volgende enterprise login-patronen gebruiken:
Enterprise Logins
Om een prototype te maken van een van bovenstaande enterprise logins moet u ArcGIS-software implementeren zoals Portal for ArcGIS en de ArcGIS Web Adaptor, en de relevante configuraties instellen met niet-Esri-technologie. Bijvoorbeeld Integrated Windows authentication inschakelen binnen Microsoft IIS of LDAP binnen TomCat en een ontwikkelomgeving opzetten. Het kiezen van SAML houdt in dat u een SAML-server instelt of verbinding maakt met een bestaande provider. In gevallen waarin het Identity Management-patroon deel uitmaakt van ArcGIS Online, omvat de setup minder stappen.
Bovenstaande tabel bevat links die uitleg geven over de implementatie. Daarnaast vind ik het nuttig om naar de productinstallatiehandleidingen te verwijzen ter ondersteuning bij de setup-inspanningen. http://server.arcgis.com/en/documentation/install/
OAuth
Als alternatief wilt u misschien OAuth ondersteunen. OAuth is ingebouwd in ArcGIS en bevat een patroon waarmee applicaties rechtstreeks verbinding kunnen maken met premium mapping-, analyse- en dataservices via de app. Bovendien biedt OAuth een patroon waarmee ArcGIS-gebruikers verbinding kunnen maken met hun accounts. Vanuit het perspectief van kleine tot grote bedrijven heeft het inschakelen van klanten om op deze manier verbinding te maken met hun accounts een manier om operationele kosten te compenseren door API-creditverbruik van uw app naar de gebruiker over te dragen.
Tenslotte, omdat ik blogs met wat code erin leuk vind, hier is een voorbeeldwebapplicatie die laat zien hoe je twee SaaS-accounts aan elkaar koppelt. Zodra er een verbinding is gemaakt tussen ArcGIS en uw SaaS, wordt elke keer dat uw klant zich aanmeldt bij zijn account automatisch ook aangemeld bij ArcGIS.
Het is belangrijk op te merken dat de onderstaande voorbeeldapplicatiecode het OAuth-serverpatroon implementeert binnen een webgebaseerde PHP- en JavaScript-applicatie.
Codevoorbeelden: https://github.com/phpmaps/ouath-server-pattern-with-arcgis/blob/master/server-pattern-oauth/index.php