Radar IA 19 de outubro de 2026
✨ IA MÁGICA Agentes · Modelos · Automação
ÚLTIMAS
Novidades e Integrações

Como revisar URLs de redirecionamento OAuth de apps Google antes de conectar IA

Antes de dar a uma ferramenta de IA acesso ao Gmail ou Drive, revise as URLs de redirecionamento OAuth. Veja o que conferir, os riscos e uma checklist de aprovação.

Como revisar URLs de redirecionamento OAuth de apps Google antes de conectar IA
Imagem: capa editorial — Novidades e Integrações

Uma URL de redirecionamento (redirect URI) é o endereço para onde o Google devolve o usuário depois que ele aprova o acesso. Ela precisa bater exatamente com o que está cadastrado no app OAuth: mesmo esquema (https), mesmo host, mesmo caminho e, se houver, mesma porta. Se qualquer pedaço divergir, o Google recusa a autorização. Antes de dar a uma ferramenta de IA acesso a Gmail, Drive, Calendar ou Planilhas, vale abrir o app no Google Cloud Console, conferir quem é o dono, ver se ele é interno ou externo, olhar a URL cadastrada e, principalmente, ler a tela de consentimento e os escopos que ele pede.

Este guia traz o método de revisão em passos e uma checklist. As regras técnicas citadas vêm da documentação oficial do Google para OAuth 2.0; onde a documentação não fecha um ponto, o texto manda conferir no Console em vez de afirmar como certeza.

Resumo rápido

  • A URL de redirecionamento precisa coincidir caractere por caractere com a cadastrada: esquema, host, caminho, porta e sem fragmento.
  • https é obrigatório; http://localhost é exceção aceita apenas para desenvolvimento na máquina local.
  • Curinga é recusado pela validação do Google: a URL tem que ser literal.
  • Antes de autorizar, confira dono do app, se ele é interno ou publicado, a tela de consentimento e os escopos.
  • URL que você não reconhece ou domínio de terceiro desconhecido: não cadastre. Pergunte ao fornecedor e confira no Console.

O que é uma URL de redirecionamento e por que ela precisa casar exatamente

No fluxo OAuth, o usuário é mandado ao Google, aprova o acesso e volta para a aplicação com um código de autorização. A redirect URI é o endereço desse retorno, por onde o código chega ao sistema que quer os dados.

A documentação do Google para aplicações web diz que o valor enviado precisa corresponder exatamente a uma das URIs autorizadas e que, se não bater, o retorno é um erro de incompatibilidade. Não é comparação aproximada: https://app.suaempresa.com.br/oauth/callback não aceita barra a mais no fim, nem http: no lugar de https:, nem www. na frente, nem porta diferente.

A rigidez é de segurança: com qualquer variação aceita, um atacante poderia apontar o retorno para um endereço sob o seu controle e capturar o código. A validação do Google também recusa:

  • Esquema: deve ser HTTPS; localhost é isento.
  • Host: não pode ser endereço IP puro; localhost é isento.
  • Domínio: o TLD precisa constar da lista de sufixos públicos, e o host não pode ser googleusercontent.com.
  • Caminho: não pode conter travessia de diretório.
  • Consulta e fragmento: sem redirecionamento aberto na query e sem componente de fragmento.
  • Caracteres: sem curinga, sem ASCII não imprimível, sem codificação percentual inválida, sem caractere nulo.

O curinga não é uma conveniência que o Google ignora: é explicitamente listado como caractere proibido. Se uma ferramenta ficou anos com curinga cadastrado e funcionou, o valor lá é outro. Confira no Console.

Por que http://localhost só serve para desenvolvimento

A documentação do Google é clara: URIs de localhost são isentas da regra de HTTPS. A página de web server usa http://localhost:8080 nos exemplos e diz que, para testes, você pode apontar URIs para a máquina local.

Isso é uma exceção de teste, não um caminho de produção. localhost é o próprio computador de quem está logado. Se você cadastra um retorno local em um app usado por clientes, o navegador tenta abrir uma porta da máquina do usuário, e não o seu servidor. Não há como o sistema receber o código por lá.

O desenho comum é ter duas configurações: uma de desenvolvimento, com localhost, e uma de produção, com o domínio real em HTTPS. O risco aparece quando o time esquece de remover o localhost do app publicado. Se o app é de produção e a lista tem localhost, trate como pendência de limpeza.

Por que curinga e domínio raiz amplo são recusados

Um curinga diz “aceite qualquer coisa”. Em OAuth, isso anula a garantia de que o código volta para um endereço conhecido. A validação do Google proíbe o asterisco nos caracteres da URI, e vale a mesma lógica para as origens JavaScript.

Não há regra publicada que permita “qualquer subdomínio da empresa” em uma linha. Cada URI é uma entrada separada, conferida literalmente. Cadastre o caminho exato que a ferramenta usa e nada além.

App interno e app externo: a diferença que pesa mais que a URL

No Google Auth Platform, o app tem um tipo de público. A distinção prática para quem vai autorizar é esta:

  • Interno: o app é de um projeto de Google Workspace e só aceita usuários da organização. Não é para o mundo, e as exigências de tela de consentimento tendem a ser menores.
  • Externo: o app pode ser autorizado por qualquer conta Google, inclusive de fora da empresa. Conforme a página de verificação de apps OAuth, apps que pedem escopos sensíveis ou restritos precisam concluir o processo de verificação. Escopos não sensíveis normalmente não exigem a verificação completa, mas a marca e o logo só aparecem na tela de consentimento após verificação.

A consequência é concreta: se a ferramenta diz ser “só para uso interno” mas o app no Console está como externo, ou ela usa um app próprio e externo, ou usa um de terceiro. Nos dois casos, o acesso não fica restrito ao Workspace.

O ponto sensível é o estado de publicação. Em teste, o Google limita os usuários e exige que estejam cadastrados; publicado, o acesso se abre para o público escolhido. Confirme no Console o estado atual, porque as exigências mudam.

A verificação não é só burocracia: apps não verificados que pedem escopos sensíveis mostram aviso ao usuário. Se a ferramenta exibe esse alerta para acesso amplo ao Gmail, você está autorizando algo fora do fluxo revisado.

Tela de consentimento e escopos importam mais do que a URL

O usuário não vê a URL: ele vê a tela de consentimento. É ali que aparecem o nome do app, o logo, o e-mail de suporte e os links, segundo a página de gestão de marca do OAuth. A documentação afirma que nome e logo só aparecem se o app tiver sido verificado.

Por isso a revisão quase sempre começa pela tela:

  • Nome: deve representar a empresa de forma reconhecível. A documentação lista como inaceitáveis nomes que combinam marcas do Google com termos genéricos. Um app chamado “Gmail Drive Helper” pedindo acesso ao Gmail merece desconfiança, mesmo com URL correta.
  • E-mail de suporte: tem que ser um endereço que sua empresa reconheça. Domínio desconhecido é sinal de origem suspeita.
  • Escopos: são o que realmente importa. Pedir leitura de e-mails para um assistente que só lê faz sentido; pedir o escopo total do Drive para quem só lê uma pasta é excesso.

Uma ferramenta que diz “preciso de acesso ao Drive” e pede o escopo amplo enxerga tudo o que a conta vê. Se ela só precisa de arquivos que ela mesma cria, há escopos estreitos, como os do tipo drive.file.

Para revisar permissões de forma sistemática, o guia de permissões de agentes de IA mostra como separar leitura de escrita e onde exigir aprovação humana. Para entender o que se ganha e o que se abre ao ligar um assistente ao ambiente Google, veja o panorama de integrações com o Google Gemini.

O risco real de phishing por redirecionamento

Aqui está o ataque que a URL ajuda a prevenir, mas não resolve sozinho. O golpista não falsifica a tela do Google. Ele registra um app OAuth legítimo, com nome convincente, e pede escopos amplos. Depois envia um link como “conecte sua conta para ganhar X” ou “autorize a integração do seu CRM”. O usuário é levado ao domínio verdadeiro do Google, vê uma tela de consentimento real, aprova, e o app do golpista recebe o código e os tokens.

O detalhe grave: depois do consentimento, o app pode continuar acessando os dados por meio do refresh token, e revogar exige ação na conta. A URL nesse golpe está tecnicamente correta, porque o app é do atacante. Por isso verificar a URL sozinha não basta; o que pega o golpe é conferir dono, e-mail, nome e escopos.

Quando uma ferramenta pede para cadastrar uma URL que você não reconhece, a resposta padrão é não. Pode ser um serviço real com documentação confusa, mas também é a forma de inserir um endereço de captura no seu app. Pause e confirme com o fornecedor por canal oficial.

Comparação de cenários: risco e recomendação

Cenário Configuração típica Risco principal Recomendação
Desenvolvimento local localhost com porta, app em teste Resíduo esquecido em app de produção Aceitável para testar. Separar do app de produção e remover do publicado.
App interno de produção Domínio da empresa em https, público interno Escopos amplos demais Preferir este tipo para uso corporativo. Conferir escopos e dono.
App publicado externo Domínio do fornecedor, público externo, verificado Phishing por consentimento Exigir verificação, ler a tela e limitar a conta usada.
App de terceiro não verificado URL qualquer, aviso de app não confiável Captura de tokens e leitura contínua Não autorizar. Buscar alternativa oficial ou app interno.
URL pedida na hora Domínio desconhecido, cadastro manual Redirecionamento para servidor do atacante Não cadastrar sem confirmação no canal oficial.

Exemplo: agência de marketing em Recife ligando assistente ao Drive do cliente

Uma agência de marketing em Recife gerencia conteúdo para clientes locais. A equipe quer um assistente de IA que leia pastas compartilhadas de fotos e briefings no Drive de cada cliente, resuma reuniões e prepare rascunhos de calendário editorial.

A revisão, antes de ligar a ferramenta, segue esta ordem:

  1. Dono do projeto Google Cloud. Se é a agência, o app é dela e o controle está em casa.
  2. Interno ou externo. Como os clientes têm contas Google próprias, um app interno do Workspace da agência não alcança o Drive do cliente. Ou a agência usa um app externo, com o cuidado que isso exige, ou cada cliente autoriza um app dentro do próprio tenant.
  3. A URL. Se a ferramenta é hospedada pela agência, a URL deve apontar para um domínio da agência, em HTTPS, com caminho exato. Sem http, sem domínio raiz, sem curinga.
  4. Os escopos. O assistente lê pastas específicas. Se o consentimento pede o Drive de ponta a ponta, revise. O escopo restrito ao que a ferramenta cria é bem mais defensável.
  5. A tela de consentimento. O nome deve ser o da ferramenta que o cliente reconhece, com e-mail de suporte da agência.

O ponto mais delicado não é a URL. É que a agência acessa dados de terceiros, e isso deve estar coberto no contrato e no consentimento, como trata o guia de segurança e LGPD na implantação de IA. A URL faz a conexão funcionar; a governança faz ela ser aceitável.

Método de revisão em passos

  1. Abra o app no Google Cloud Console. Localize o projeto e a tela de cliente OAuth. Confira o público e se o app está em teste ou publicado.
  2. Anote o dono e o e-mail de suporte. Se não for da sua empresa ou de um fornecedor conhecido, pare.
  3. Verifique as URIs autorizadas. Compare esquema, host, caminho e porta com o que a ferramenta informa. Procure resíduo de localhost e curinga.
  4. Leia os escopos. Liste o que cada um permite e se há versão mais estreita que atenderia.
  5. Veja a tela de consentimento como o usuário veria. Nome, logo, e-mail e links devem fazer sentido.
  6. Teste com uma conta restrita. Antes da conta principal, conecte uma conta de teste e observe o que a ferramenta faz.
  7. Registre a decisão. Quem autorizou, data, app, escopos e URL. Isso ajuda a revogar rápido se algo der errado.

Checklist rápida

  • O dono do app é a minha empresa ou um fornecedor que eu identifico?
  • O app é interno do Workspace ou externo publicado? Isso bate com o uso?
  • A URL usa https, é de domínio conhecido e tem caminho específico?
  • Há localhost ou curinga cadastrado em app de produção?
  • Os escopos pedidos são os mínimos para a tarefa?
  • A tela de consentimento mostra nome e e-mail que eu reconheço?
  • Eu sei como revogar o acesso depois?

Erros comuns

  • Focar na URL e ignorar o escopo. URL perfeita com escopo total do Gmail pode ser pior que URL estranha com leitura de uma pasta.
  • Aceitar que “o fornecedor pediu para cadastrar” sem conferir. É o vetor do phishing por consentimento. Confirme por canal oficial.
  • Deixar localhost no app de produção. Resíduo de teste é risco sem benefício.
  • Assumir que app “só interno” é interno. Confira o público no Console. A etiqueta comercial não vale como configuração.
  • Usar conta pessoal para dados da empresa. Se a conta é pessoal, revogar e auditar depois fica mais difícil.

Perguntas frequentes

A URL de redirecionamento pode ter parâmetros na query?

Pode haver query, mas ela não pode configurar redirecionamento aberto, segundo a validação do Google. A prática segura é evitar parâmetros variáveis no retorno e manter o caminho fixo. Se a ferramenta exige query, confirme com o fornecedor.

Por que meu app retorna erro de incompatibilidade de redirect URI?

Porque o valor enviado não confere exatamente com uma das URIs cadastradas. Revise barra final, http contra https, presença de www e porta. A documentação trata esse erro como falha de comparação exata.

Posso usar localhost em produção para testes internos?

A documentação permite localhost como exceção de esquema para desenvolvimento. Em produção, os usuários não acessam a máquina onde o servidor roda, então o retorno não chega. Use um domínio próprio em HTTPS para ambientes compartilhados.

O que fazer se a ferramenta pedir uma URL que não reconheço?

Não cadastre enquanto não confirmar. Pergunte ao fornecedor por canal oficial, verifique se o domínio pertence a ele e prefira um app da própria empresa. Esse pedido é exatamente o que um atacante faria.

Autorizar uma vez cede acesso para sempre?

Não necessariamente, mas o app pode guardar um refresh token e continuar acessando enquanto não for revogado. O Google oferece revogação nas configurações da conta.

App interno dispensa verificação?

O público interno restringe os usuários ao Workspace, mas as exigências variam conforme o tipo de escopo. Confira a regra atual na página de verificação de apps OAuth e no Console, porque as exigências mudam. Não assuma que interno significa liberado.

Fontes e leitura recomendada

Sobre

A Redação IA Mágica é formada por especialistas e pesquisadores em inteligência artificial aplicada, agentes autônomos, automações no-code/pro-code e grandes modelos de linguagem (LLMs). Nossos conteúdos cobrem implementações reais, análises e tutoriais aprofundados para profissionais e empresas.