Pular para o conteúdo
Criação de Apps

OAuth: como funciona o login com Google e outras contas

Resposta rápida

OAuth é um protocolo que permite a um aplicativo acessar dados de uma conta em outro serviço, como o Google, com a permissão do usuário e sem receber a senha dele. O usuário aprova em uma tela do serviço, e o app recebe um token com acesso limitado, definido pelos escopos autorizados.

Neste artigo
  1. Os papéis do fluxo
  2. Como o fluxo acontece
  3. Tokens e escopos
  4. Boas práticas para quem implementa
  5. Cuidados para quem usa

Quando você clica em entrar com Google em um site, normalmente está usando OAuth. A ideia é que o novo app não precise saber sua senha: quem verifica sua identidade é o serviço que você já usa. Entender o fluxo ajuda tanto quem usa quanto quem desenvolve.

Os papéis do fluxo

Existem quatro participantes:

  • O usuário, dono da conta e dos dados.
  • O aplicativo, que quer acessar algumas informações.
  • O servidor de autorização, que é o serviço onde a conta existe, como o Google, e que cuida do login e da aprovação.
  • O servidor de recursos, que guarda os dados protegidos e responde ao app quando ele apresenta um token válido.

Como o fluxo acontece

Uma versão simplificada de um fluxo comum:

  1. O usuário clica em entrar com Google no app.
  2. O app redireciona para a tela do Google, informando quais permissões quer, os escopos.
  3. O usuário faz login no Google, se precisar, e aprova ou nega.
  4. O Google redireciona de volta para o app com um código temporário.
  5. O servidor do app troca esse código por um token de acesso, conversando diretamente com o Google.
  6. O app usa o token para acessar apenas o que foi permitido, durante o tempo de validade do token.

A senha do usuário nunca passa pelo app. Se o usuário quiser revogar o acesso, faz isso nas configurações da conta, no serviço de origem.

Tokens e escopos

  • Token de acesso: uma credencial de curta duração que o app apresenta nas chamadas.
  • Token de atualização: em alguns fluxos, serve para obter um novo token de acesso sem pedir login de novo. Exige proteção redobrada.
  • Escopos: delimitam o que o token permite. Pedir só o necessário reduz o risco e passa mais confiança ao usuário.

Para entender como esses acessos conversam com os sistemas, vale rever o que é API e para que serve.

Boas práticas para quem implementa

  • Use bibliotecas e SDKs oficiais ou bem mantidos, em vez de escrever o fluxo do zero.
  • Cadastre apenas endereços de redirecionamento que você controla e confira o parâmetro de estado para evitar requisições forjadas.
  • Mantenha segredos do cliente apenas no servidor, fora do código-fonte e fora de repositórios públicos.
  • Peça o mínimo de escopos e explique ao usuário por que precisa deles.
  • Trate expiração e revogação de tokens, para não manter acesso quando o usuário retirar a permissão.
  • Registre eventos importantes de login, sem guardar dados sensíveis nos logs.

Para decisões de arquitetura e outras formas de entrada, como senha própria e chaves de acesso, o artigo login em apps: como fazer com segurança traz um comparativo.

Cuidados para quem usa

Antes de aprovar, leia quais permissões o app pede. Se um jogo simples quer acessar seus contatos ou arquivos, desconfie. De tempos em tempos, revise os apps que têm acesso à sua conta e remova os que você não usa mais. Isso reduz a chance de abuso caso um desses serviços sofra algum problema.

  • OAuth
  • Login
  • Autenticação
  • Desenvolvimento

Perguntas frequentes

OAuth é a mesma coisa que login?

Não exatamente. OAuth trata de autorização, ou seja, o que o app pode acessar. Para identificar quem é o usuário, costuma-se usar o OpenID Connect, que funciona em cima do OAuth.

O que é um escopo?

É a lista de permissões que o app pede, como ler o e-mail ou o perfil básico. Peça só o necessário, e o usuário verá essas permissões na tela de aprovação.

Posso guardar o token no navegador?

Evite guardar tokens sensíveis em locais expostos a scripts. Siga as recomendações da documentação do provedor e prefira fluxos que mantenham segredos no servidor.

Leia também

Criação de Apps

Login em apps: como fazer com segurança (senha, Google e passkeys)

Um checklist de boas práticas para criar o login do seu aplicativo sem abrir brechas para invasores.

· 5 min de leitura
Criação de Apps

O que é API e para que serve, explicado sem complicação

A ideia por trás das APIs com exemplos do dia a dia, termos explicados e um primeiro teste prático.

· 5 min de leitura
Criação de Apps

CORS: o que é e como resolver o erro no navegador

O erro de CORS não é bug do navegador: é uma regra de segurança que o servidor precisa liberar.

· 2 min de leitura
Criação de Apps

Erro 404 e erro 500: o que significam e como resolver

O 404 indica página não encontrada, e o 500 indica falha dentro do servidor do site.

· 3 min de leitura

Deixe seu comentário