Recentemente, realizamos um webinário para desenvolvedores sobre o tema fundamental de Gerenciamento de Identidade. A plataforma ArcGIS oferece uma variedade de opções de Gerenciamento de Identidade, que é um diferencial chave e benefício ao desenvolver seus aplicativos com a Esri.
Contexto
Existem duas formas principais de OAuth (permitindo autenticação do usuário e autenticação do aplicativo). A entrega disso varia dependendo se você está trabalhando com um cliente servidor, cliente navegador ou cliente móvel e se está usando algum dos sete produtos para desenvolvedores ArcGIS. Se você adotou produtos para desenvolvedores ArcGIS, cada um incluirá suporte nativo para OAuth e os outros padrões de Gerenciamento de Identidade discutidos neste blog.
O objetivo deste webinário foi:
- Elaborar as opções de Gerenciamento de Identidade para ArcGIS
- Destaque as estratégias de negócios que apoiam o gerenciamento de identidade (veja a próxima seção)
- Demonstre as estratégias técnicas por trás do gerenciamento de usuários (OAuth e Enterprise Logins) dentro de aplicações SaaS personalizadas e OEM, oferecendo uma experiência de login o mais suave possível.
Para recapitular, algumas das estratégias de negócios a considerar são:
- Oferecer a(s) opção(ões) certa(s) de Gerenciamento de Identidade para atender seu mercado
- Reduzir custos variáveis associados ao uso dos serviços de Geocodificação, Roteamento, Demografia, Elevação e Análise Espacial transferindo o consumo de créditos da API do seu aplicativo para os usuários do ArcGIS
- Minimizar responsabilidades e riscos relacionados ao gerenciamento de senhas
- Acessar informações do perfil do usuário ArcGIS e seu conteúdo exclusivo para alimentar seus aplicativos
- Simplificar o desenvolvimento do aplicativo usando classes e métodos das APIs/SDKs da Esri
- Ganhar valores adicionais vendáveis ao contribuir com o ArcGIS, possibilitando o uso de aplicativos como Collector, Ops Dashboard, ArcGIS Pro e ArcGIS for Desktop
Visão Técnica Geral
A chave para implementar uma estratégia técnica depende muito de entender suas próprias capacidades de gerenciamento de identidade e, mais importante, compreender as necessidades específicas dos clientes. Uma rápida revisão do cenário mostra que não existe uma solução única para gerenciar identidade, razão pela qual a plataforma ArcGIS suporta tantos padrões da indústria nessa área – como OAuth, LDAP, SAML, IWA, PKI e outros protocolos web integrados em servidores web.
Como mencionamos em nosso webinário, ao planejar uma integração com outro provedor SaaS você gastará bastante tempo pensando em como oferecer uma experiência de login único (ou quase único). Especificamente, uma experiência que conecte seus recursos de Gerenciamento de Identidade com as contas dos usuários ArcGIS. A boa notícia é que existem maneiras de fazer isso. Ao escolher um padrão como Enterprise Logins, grande parte desse trabalho pesado já está feito, especialmente se você escolheu um produto para desenvolvedores ArcGIS. Também é possível alcançar algo semelhante usando OAuth.
Você encontrará muitas grandes organizações usando os seguintes padrões de login empresarial:
Enterprise Logins
Para prototipar qualquer um dos logins empresariais acima você precisará implantar software ArcGIS como Portal for ArcGIS e o ArcGIS Web Adaptor, além de configurar as configurações relevantes com tecnologia não Esri. Por exemplo, ativar autenticação integrada do Windows dentro do Microsoft IIS ou LDAP dentro do TomCat e preparar um ambiente de desenvolvimento. Escolher SAML envolve configurar um servidor SAML ou conectar-se a um provedor existente. Nos casos em que o padrão de Gerenciamento de Identidade faz parte do ArcGIS Online, a configuração envolve menos etapas.
A tabela acima inclui links explicando a implementação. Além disso, acho útil consultar os guias de instalação do produto para auxiliar nos esforços de configuração. http://server.arcgis.com/en/documentation/install/
OAuth
Alternativamente, você pode querer suportar OAuth. OAuth vem integrado ao ArcGIS e inclui um padrão que permite que aplicações se conectem diretamente a serviços premium de mapeamento, análise e dados via aplicativo. Além disso, OAuth expõe um padrão que permite aos usuários ArcGIS conectar-se às suas contas. De uma perspectiva desde pequenas até grandes empresas, permitir que clientes conectem-se às suas contas dessa forma ajuda a compensar custos operacionais transferindo o consumo dos créditos da API do seu app para o usuário.
Por fim, já que gosto de blogs com algum código neles, aqui está um exemplo de aplicação web mostrando como conectar duas contas SaaS juntas. Uma vez feita a conexão entre ArcGIS e seu SaaS, toda vez que seu cliente entrar na conta dele ele será automaticamente conectado ao ArcGIS.
É importante notar que o exemplo de código da aplicação abaixo implementa o padrão OAuth server dentro de uma aplicação web PHP e JavaScript.
Exemplos de Código: https://github.com/phpmaps/ouath-server-pattern-with-arcgis/blob/master/server-pattern-oauth/index.php