Publicado por William Denniss, Gerente de produtos de identidade e autenticação

A equipe de identidade está trabalhando sem parar para ajudar os usuários da Google a acessar aplicativos de terceiros com a conta Google de forma segura e fácil e para permitir que os usuários compartilhem determinadas informações da sua conta, como calendário ou informações de contato, com outros aplicativos, quando quiserem.

Nos bastidores, essas interações acontecem por meio de solicitações de OAuth e, por muitos anos, a Google ofereceu suporte a diversas maneiras de implementar fluxos do OAuth para os desenvolvedores. Pensando em mais segurança e usabilidade, em breve removeremos a compatibilidade com uma dessas formas. Nos próximos meses, não permitiremos mais solicitações de OAuth ao Google em navegadores embutidos, conhecidos como “web-views”, como o elemento de IU WebView no Android e UIWebView/WKWebView no iOS, além de equivalentes do Windows e do OS X.

Usar o navegador do dispositivo para solicitações de OAuth em vez de uma web-view embutida pode aumentar muito a facilidade de uso dos aplicativos: os usuários só precisam fazer o login Google uma vez por dispositivo e aumentar as taxas de conversão dos fluxos de acesso e autorização no aplicativo. Os padrões modernos de “guia do navegador dentro do aplicativo”, disponíveis em alguns sistemas operacionais, como Chrome Custom Tabs no Android e SFSafariViewController no iOS, oferecem ainda mais melhorias à UX para fluxos de OAuth com base no navegador.

Em contraste, o método ultrapassado de usar navegadores embutidos para o OAuth significa que um usuário precisa fazer login toda vez, em vez de usar a sessão já acessada do dispositivo. O navegador do dispositivo também fornece maior segurança, já que os aplicativos podem inspecionar e modificar o conteúdo em um web-view, mas não o conteúdo exibido no navegador.

Para ajudar na migração, oferecemos bibliotecas e exemplos que seguem as práticas recomendadas modernas que você pode usar:

  • Google Sign-In para Android e iOS, nosso SDK recomendado para acesso e OAuth com Contas do Google.
  • AppAuth para Android, iOS e OS X, uma biblioteca de cliente OAuth de código aberto que pode ser usada com o Google e outros provedores do OAuth. Além disso, oferecemos GTMAppAuth (para iOS e OS X), uma biblioteca que permite compatibilidade com o AppAuth para a Biblioteca de cliente das Google APIs para Objective-C e os projetos do GTM Session Fetcher.
  • Exemplos do Google Sign-In e do OAuth para Windows, exemplos que demonstram como usar o navegador para autenticar usuários Google em diversos ambientes Windows, como a Plataforma universal do Windows (UWP), aplicativos para computadores e console.

Você também pode ler a documentação sobre protocolo para saber mais sobre nosso suporte com base nas normas do OAuth para aplicativos nativos e um esboço da atual prática recomendada da IETF sobre esse assunto.

As versões do Google Sign-In para iOS anteriores à 3.0 não são compatíveis com as atuais práticas recomendadas do setor para a guia de navegador dentro de aplicativos e, portanto, foram abandonadas. Se você usa o Google Sign-In, atualize para a versão mais recente para aproveitar todas as recentes melhorias de segurança e usabilidade. Por enquanto, essa política não remove a compatibilidade com WebView no iOS 8, no entanto, poderemos começar a exibir avisos recomendando aos usuários que atualizem seus dispositivos para melhorar a segurança.

A partir de 20 de outubro de 2016, evitaremos que novos clientes OAuth usem web-views em plataformas com uma alternativa viável e forneceremos avisos graduais aos usuários para clientes OAuth existentes. Em 20 de abril de 2017, começaremos a bloquear solicitações de OAuth de web-views para todos os clientes OAuth em plataformas que tenham alternativas viáveis.

Se tiver dúvidas sobre a migração, publique no Stack Overflow com o rótulo “google-oauth”.