Récemment, nous avons présenté un webinaire pour développeurs sur le sujet fondamental de la gestion des identités. La plateforme ArcGIS offre une gamme d'options de gestion des identités, ce qui constitue un différenciateur clé et un avantage pour développer vos applications avec Esri.
Contexte
Il existe deux formes majeures d'OAuth (permettant l'authentification des utilisateurs et des applications). La mise en œuvre variera selon que vous travaillez avec un serveur-client, un client navigateur ou un client mobile et si vous utilisez l'un des sept produits développeurs ArcGIS. Si vous avez adopté les produits développeurs ArcGIS, chacun inclura un support natif pour OAuth et les autres modèles de gestion des identités abordés dans ce blog.
L'objectif de ce webinaire était :
- Développer les options de gestion des identités pour ArcGIS
- Mettre en lumière les stratégies commerciales soutenant la gestion des identités (voir section suivante)
- Démontrer les stratégies techniques derrière la gestion des utilisateurs (OAuth et Enterprise Logins) au sein d'applications SaaS personnalisées et OEM, offrant une expérience de connexion aussi fluide que possible.
Pour récapituler, certaines stratégies commerciales à considérer sont :
- Offrir la ou les bonnes options de gestion des identités adaptées à votre marché
- Réduire les coûts variables associés à l'utilisation des services de géocodage, routage, démographie, élévation et analyse spatiale en déchargeant la consommation de crédits API de votre application vers les utilisateurs ArcGIS
- Minimiser les responsabilités et risques liés à la gestion des mots de passe
- Accéder aux informations du profil utilisateur ArcGIS et à leur contenu unique pour alimenter vos applications
- Simplifier le développement d'applications en utilisant les classes et méthodes des APIs/SDKs d'Esri
- Gagner des valeurs ajoutées commercialisables en contribuant à ArcGIS, rendant possible l'utilisation d'applications comme Collector, Ops Dashboard, ArcGIS Pro et ArcGIS for Desktop
Aperçu technique
La clé pour mettre en œuvre une stratégie technique dépend largement de la compréhension de vos propres capacités de gestion des identités et, plus important encore, de la compréhension des besoins spécifiques des clients. Un rapide aperçu du paysage montre qu'il n'existe pas de solution unique pour gérer l'identité, c'est pourquoi la plateforme ArcGIS prend en charge autant de standards industriels dans ce domaine – tels que OAuth, LDAP, SAML, IWA, PKI et d'autres protocoles web intégrés aux serveurs web.
Comme mentionné dans notre webinaire, lors de la planification d'une intégration avec un autre fournisseur SaaS, vous passerez beaucoup de temps à réfléchir à la manière d'offrir une expérience de connexion unique (ou quasi unique). Plus précisément, une expérience qui lie vos fonctionnalités de gestion des identités aux comptes utilisateurs ArcGIS. La bonne nouvelle est qu'il existe des moyens d'y parvenir. En choisissant un modèle tel que Enterprise Logins, une grande partie du travail lourd est déjà faite, surtout si vous avez choisi un produit développeur ArcGIS. Il est également possible d'obtenir quasiment le même résultat en utilisant OAuth.
Vous trouverez de nombreuses grandes organisations utilisant les modèles suivants pour les connexions d'entreprise :
Enterprise Logins
Pour prototyper l'une quelconque des connexions d'entreprise ci-dessus, vous devrez déployer un logiciel ArcGIS tel que Portal for ArcGIS et l'ArcGIS Web Adaptor, puis configurer les paramètres pertinents avec une technologie non Esri. Par exemple, activer l'authentification Windows intégrée dans Microsoft IIS ou LDAP dans TomCat et préparer un environnement de développement. Choisir SAML implique la mise en place d'un serveur SAML ou la connexion à un fournisseur existant. Dans les cas où le modèle de gestion des identités fait partie d'ArcGIS Online, la configuration nécessite moins d'étapes.
Le tableau ci-dessus inclut des liens expliquant la mise en œuvre. De plus, je trouve utile de consulter les guides d'installation du produit pour aider aux efforts de configuration. http://server.arcgis.com/en/documentation/install/
OAuth
Alternativement, vous pouvez vouloir supporter OAuth. OAuth est intégré dans ArcGIS et inclut un modèle qui permet aux applications de se connecter directement aux services premium de cartographie, analyse et données via l'application. De plus, OAuth expose un modèle permettant aux utilisateurs ArcGIS de se connecter à leurs comptes. Du point de vue d'une petite entreprise comme d'une grande entreprise, permettre aux clients de se connecter ainsi à leurs comptes permet souvent de compenser les coûts opérationnels en déchargeant la consommation de crédits API depuis votre application vers l'utilisateur.
Enfin, puisque j'aime les blogs avec un peu de code dedans, voici une application web exemple montrant comment connecter deux comptes SaaS ensemble. Une fois la connexion établie entre ArcGIS et votre SaaS, chaque fois que votre client se connectera à son compte, il sera automatiquement connecté à ArcGIS.
Il est important de noter que l'exemple de code applicatif ci-dessous implémente le modèle serveur OAuth dans une application web PHP et JavaScript.
Exemples de code : https://github.com/phpmaps/ouath-server-pattern-with-arcgis/blob/master/server-pattern-oauth/index.php