Recientemente entregamos un webinario para desarrolladores sobre el tema fundamental de la Gestión de Identidad. La plataforma ArcGIS ofrece una variedad de opciones de Gestión de Identidad, lo cual es un diferenciador clave y un beneficio al desarrollar tus aplicaciones con Esri.
Antecedentes
Existen dos formas principales de OAuth (que habilitan la autenticación de usuarios y la autenticación de aplicaciones). La implementación variará dependiendo si trabajas con un servidor-cliente, cliente navegador o cliente móvil y si estás usando alguno de los siete productos para desarrolladores ArcGIS. Si has adoptado productos para desarrolladores ArcGIS, cada uno incluirá soporte nativo para OAuth y otros patrones de Gestión de Identidad discutidos en este blog.
El objetivo de este webinario fue:
- Elaborar sobre las opciones de Gestión de Identidad para ArcGIS
- Destacar las estrategias comerciales que apoyan la gestión de identidad (ver sección siguiente)
- Demostrar las estrategias técnicas detrás del manejo de usuarios (OAuth e Inicios de Sesión Empresariales) dentro de aplicaciones SaaS personalizadas y OEM, ofreciendo una experiencia de inicio de sesión lo más fluida posible.
Para recapitular, algunas de las estrategias comerciales a considerar son:
- Ofrecer la(s) opción(es) correcta(s) de Gestión de Identidad para ajustarse a tu mercado
- Reducir costos variables asociados con el uso de servicios de Geocodificación, Enrutamiento, Demografía, Elevación y Análisis Espacial al descargar el consumo de créditos API desde tu aplicación hacia los usuarios de ArcGIS
- Minimizar responsabilidades y riesgos relacionados con la gestión de contraseñas
- Acceder a la información del perfil del usuario ArcGIS y su contenido único para potenciar tus aplicaciones
- Simplificar el desarrollo de aplicaciones usando clases y métodos de las APIs/SDKs de Esri
- Obtener valores agregados vendibles al contribuir nuevamente a ArcGIS, haciendo posible usar aplicaciones como Collector, Ops Dashboard, ArcGIS Pro y ArcGIS for Desktop
Resumen Técnico
La clave para implementar una estrategia técnica depende en gran medida en entender tus propias capacidades de gestión de identidad y, más importante aún, comprender las necesidades específicas de los clientes. Una revisión rápida del panorama muestra que no existe una solución única para gestionar identidad, por eso la plataforma ArcGIS soporta tantos estándares industriales en esta área – como OAuth, LDAP, SAML, IWA, PKI y otros protocolos web integrados en servidores web.
Como mencionamos en nuestro webinario, al planear una integración con otro proveedor SaaS pasarás bastante tiempo pensando cómo ofrecer una experiencia de inicio único (o casi único). Específicamente, una experiencia que vincule tus características de Gestión de Identidad con las cuentas de usuario ArcGIS. La buena noticia es que existen formas para lograr esto. Al elegir un patrón como Inicios de Sesión Empresariales, gran parte del trabajo pesado ya está hecho, especialmente si has elegido un producto para desarrolladores ArcGIS. También es posible lograr algo similar usando OAuth.
Encontrarás muchas grandes organizaciones usando los siguientes patrones empresariales de inicio sesión:
Inicios de Sesión Empresariales
Para prototipar cualquiera de los inicios sesión empresariales anteriores necesitarás desplegar software ArcGIS como Portal for ArcGIS y el ArcGIS Web Adaptor, además configurar las configuraciones relevantes con tecnología no Esri. Por ejemplo, activar la autenticación integrada Windows dentro Microsoft IIS o LDAP dentro TomCat y preparar un entorno desarrollo. Elegir SAML implica configurar un servidor SAML o conectarse a un proveedor existente. En casos donde el patrón Gestión Identidad es parte de ArcGIS Online, la configuración implica menos pasos.
La tabla anterior incluye enlaces que explican la implementación. Además, encuentro útil referirme a las guías instalación del producto para ayudar con los esfuerzos configuración. http://server.arcgis.com/en/documentation/install/
OAuth
Alternativamente, puedes querer soportar OAuth. OAuth viene integrado en ArcGIS e incluye un patrón que permite a las aplicaciones conectarse directamente a servicios premium de mapas, análisis y datos vía la app. Además, OAuth expone un patrón que permite a usuarios ArcGIS conectarse a sus cuentas. Desde la perspectiva tanto pequeña como grande empresa, permitir a clientes conectarse a sus cuentas así tiene una forma de compensar costos operativos al descargar el consumo créditos API desde tu app hacia el usuario.
Finalmente, ya que me gustan los blogs con algo código incluido, aquí hay una aplicación web ejemplo mostrando cómo conectar dos cuentas SaaS juntas. Una vez establecida conexión entre ArcGIS y tu SaaS, cada vez que tu cliente inicie sesión en su cuenta se iniciará sesión automáticamente en ArcGIS.
Es importante notar que el código aplicación ejemplo abajo implementa el patrón servidor OAuth dentro una aplicación web PHP y JavaScript.
Muestras Código: https://github.com/phpmaps/ouath-server-pattern-with-arcgis/blob/master/server-pattern-oauth/index.php