Nedávno jsme uspořádali webinář pro vývojáře na základní téma správy identity. Platforma ArcGIS nabízí řadu možností správy identity, což je klíčový rozdíl a výhoda při vývoji vašich aplikací s Esri.
Pozadí
Existují dvě hlavní formy OAuth (umožňující ověřování uživatelů a ověřování aplikací). Způsob implementace se liší podle toho, zda pracujete se server-klientem, klientem v prohlížeči nebo mobilním klientem a zda používáte některý ze sedmi produktů ArcGIS pro vývojáře. Pokud jste přijali produkty ArcGIS pro vývojáře, každý z nich bude obsahovat nativní podporu OAuth a dalších vzorů správy identity diskutovaných v tomto blogu.
Cílem tohoto webináře bylo:
- Podrobně vysvětlit možnosti správy identity pro ArcGIS
- Zdůraznit obchodní strategie podporující správu identity (viz následující sekce)
- Ukázat technické strategie za správou uživatelů (OAuth a Enterprise Logins) v rámci vlastních SaaS a OEM aplikací, poskytujících co nejplynulejší přihlašovací zážitek.
Pro shrnutí, některé z obchodních strategií, o kterých je třeba přemýšlet, jsou:
- Nabídnout správnou možnost(y) správy identity, která vyhovuje vašemu trhu
- Snížit variabilní náklady spojené s používáním služeb Geocoding, Routing, Demographic, Elevation a Spatial Analysis tím, že přesunete spotřebu API kreditů z vaší aplikace na uživatele ArcGIS
- Minimalizovat odpovědnosti a rizika spojená se správou hesel
- Získat přístup k informacím o profilu uživatele ArcGIS a jejich unikátnímu obsahu pro napájení vašich aplikací
- Zjednodušit vývoj aplikací pomocí tříd a metod z Esri API/SDK
- Získat prodejní přidanou hodnotu při přispívání zpět do ArcGIS, což umožňuje používat aplikace jako Collector, Ops Dashboard, ArcGIS Pro a ArcGIS for Desktop
Technický přehled
Klíčem k implementaci technické strategie je do značné míry pochopení vlastních schopností správy identity a ještě důležitější pochopení specifických potřeb zákazníků. Rychlý přehled situace ukazuje, že neexistuje jediné řešení pro správu identity, což je důvod, proč platforma ArcGIS podporuje tolik průmyslových standardů v této oblasti – jako jsou OAuth, LDAP, SAML, IWA, PKI a další protokoly webové vrstvy zabudované do webových serverů.
Jak jsme zmínili v našem webináři, při plánování mash-upu s jiným poskytovatelem SaaS strávíte značný čas přemýšlením o tom, jak zajistit jednotné přihlášení (nebo téměř jednotné přihlášení). Konkrétně zážitek, který propojí vaše funkce správy identity s účty uživatelů ArcGIS. Dobrou zprávou je, že existují způsoby, jak to udělat. Při výběru vzoru jako Enterprise Logins je většina této náročné práce již hotova, zejména pokud jste si vybrali produkt ArcGIS pro vývojáře. Je také možné dosáhnout podobného výsledku pomocí OAuth.
Mnoho velkých organizací používá následující vzory enterprise login:
Enterprise Logins
Pro prototypování jakéhokoli z výše uvedených enterprise login budete muset nasadit software ArcGIS jako Portal for ArcGIS a ArcGIS Web Adaptor a nastavit příslušné konfigurace s ne-Esri technologií. Například zapnout integrované Windows ověřování v Microsoft IIS nebo LDAP v TomCat a připravit vývojové prostředí. Výběr SAML zahrnuje nastavení SAML serveru nebo připojení k existujícímu poskytovateli. V případech, kdy je vzor správy identity součástí ArcGIS Online, je nastavení méně složité.
Tabulka výše obsahuje odkazy vysvětlující implementaci. Navíc považuji za užitečné odkazovat se na instalační příručky produktu pro usnadnění nastavení. http://server.arcgis.com/en/documentation/install/
OAuth
Alternativně můžete chtít podporovat OAuth. OAuth je zabudován v ArcGIS a zahrnuje vzor umožňující aplikacím připojit se přímo k prémiovým mapovým, analytickým a datovým službám přes aplikaci. Navíc OAuth nabízí vzor umožňující uživatelům ArcGIS připojit se ke svým účtům. Z pohledu malého i velkého podniku umožnění zákazníkům připojit se ke svým účtům tímto způsobem má potenciál snížit provozní náklady tím, že přesune spotřebu API kreditů z vaší aplikace na uživatele.
A nakonec, protože mám rád blogy s nějakým kódem, zde je ukázková webová aplikace ukazující, jak propojit dva SaaS účty dohromady. Jakmile je navázáno spojení mezi ArcGIS a vaším SaaS, pokaždé když se váš zákazník přihlásí ke svému účtu, bude automaticky přihlášen i do ArcGIS.
Je důležité poznamenat, že níže uvedený ukázkový kód aplikace implementuje vzor OAuth server uvnitř webové PHP a JavaScript aplikace.
Příklady kódu: https://github.com/phpmaps/ouath-server-pattern-with-arcgis/blob/master/server-pattern-oauth/index.php