Configurando Autenticação OAuth do Gmail
Este guia irá orientá-lo na criação de um aplicativo Google Cloud para autenticação OAuth com Gmail. OAuth fornece uma maneira mais segura de acessar sua conta Gmail em comparação com a autenticação tradicional por senha.
Pré-requisitos
- Uma conta Google (pessoal ou Google Workspace)
- Acesso ao Google Cloud Console
- URL da sua instalação Perfex CRM (para configuração do URI de redirecionamento)
Configuração Passo a Passo
Passo 1: Criar um Projeto Google Cloud
- Acesse o Google Cloud Console
- Clique no dropdown do projeto no topo da página
- Clique em "New Project"
- Insira um nome para o projeto (por exemplo, "Perfex Mailbox OAuth")
- Clique em "Create"
- Aguarde a criação do projeto e selecione-o
Passo 2: Habilitar Gmail API
- Na Google Cloud Console, navegue para "APIs & Services" > "Library"
- Pesquise por "Gmail API"
- Clique em "Gmail API" nos resultados
- Clique em "Enable"
- Aguarde a habilitação da API
Passo 3: Configurar Tela de Consentimento OAuth
- Navegue para "APIs & Services" > "OAuth consent screen"
- Selecione "External" como tipo de usuário (a menos que você tenha uma conta Google Workspace, então pode escolher "Internal")
- Clique em "Create"
- Preencha as informações necessárias:
- App name: Insira o nome do seu aplicativo (por exemplo, "Perfex CRM Mailbox")
- User support email: Seu endereço de e-mail
- Developer contact information: Seu endereço de e-mail
- Clique em "Save and Continue"
- Na página "Scopes", clique em "Add or Remove Scopes"
- Adicione os seguintes escopos:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/gmail.modify
- Clique em "Update", depois "Save and Continue"
- Na página "Test users" (se usando tipo de app External):
- Adicione seu endereço Gmail como usuário de teste
- Clique em "Save and Continue"
- Revise e clique em "Back to Dashboard"
Passo 4: Criar Credenciais OAuth 2.0
- Navegue para "APIs & Services" > "Credentials"
- Clique em "Create Credentials" > "OAuth client ID"
- Selecione "Web application" como tipo de aplicação
- Insira um nome para seu cliente OAuth (por exemplo, "Perfex Mailbox Client")
- Em "Authorized redirect URIs", clique em "Add URI"
- Adicione seu URI de redirecionamento no formato:
https://your-domain.com/admin/mailbox/oauth/callback?provider=gmail
Substitua your-domain.com pelo seu domínio real do Perfex CRM.
- Clique em "Create"
- IMPORTANTE: Copie e salve ambos:
- Client ID (você precisará disso)
- Client Secret (você precisará disso - clique em "Show" para revelá-lo)
Passo 5: Configurar no Perfex CRM
- Acesse a área admin do seu Perfex CRM
- Navegue para Mailbox > Configuration
- Selecione "OAuth2" como seu método de autenticação
- Selecione "Gmail" como seu provedor
- Insira seu Client ID no campo "Gmail Client ID"
- Insira seu Client Secret no campo "Gmail Client Secret"
- Clique em "Save Configuration"
- Clique no botão "Connect Gmail"
- Autorize o aplicativo na janela popup do Google
- Você deve ver uma mensagem de sucesso confirmando a conexão
Limitações e Considerações Importantes
Limitações do Google Test App
-
Expiração de Token (7 Dias) - Apps não verificados (apps em modo de teste) têm tokens OAuth que expiram após 7 dias. Após 7 dias, os usuários devem reautorizar a conexão. Esta é uma política de segurança do Google para aplicações não verificadas.
-
Restrições de Usuários de Teste - Apenas usuários adicionados à lista "Test users" podem usar o app OAuth. Máximo de 100 usuários de teste permitidos. Esta restrição se aplica até que o app seja verificado e publicado.
-
Processo de Verificação do App - Para remover a expiração de token de 7 dias, você deve enviar seu app para verificação do Google. A verificação pode levar várias semanas (tipicamente 4-8 semanas). O Google revisa seu app quanto à segurança e conformidade.
Verificação e Publicação do App
Para remover as limitações:
-
Enviar para Verificação
- Vá para "OAuth consent screen" na Google Cloud Console
- Clique no botão "PUBLISH APP"
- Preencha o formulário de verificação com:
- Propósito e funcionalidade do app
- URL da política de privacidade
- URL dos termos de serviço
- Demonstração em vídeo (opcional mas recomendado)
- Envie para revisão
-
Cronograma de Verificação
- Revisão inicial: 1-2 semanas
- Solicitações de informações adicionais: Variável (se o Google precisar de esclarecimentos)
- Aprovação final: 4-8 semanas no total (típico)
-
Após a Verificação
- Tokens não expiram mais após 7 dias
- Sem restrições de usuários de teste
- App pode ser usado por qualquer usuário Gmail
Produção vs. Teste
- Modo de Teste: Configuração rápida, mas tokens expiram a cada 7 dias
- Modo de Produção: Requer verificação, mas tokens não expiram
- A escolha é sua - nosso software funciona com ambos os modos
Atualização de Token
Nosso módulo lida automaticamente com a atualização de tokens quando possível. No entanto:
- Apps não verificados: Tokens expiram após 7 dias e requerem reautorização manual
- Apps verificados: Tokens são atualizados automaticamente sem intervenção do usuário
Notas
- O URI de redirecionamento deve corresponder exatamente ao que você configurou na Google Cloud Console
- Mantenha seu Client Secret seguro - nunca o compartilhe publicamente
- Se você alterar seu domínio, atualize o URI de redirecionamento na Google Cloud Console
- O fluxo OAuth é tratado inteiramente pelo Google - nosso módulo apenas inicia e recebe o callback
Solução de Problemas
Erro "Redirect URI mismatch":
- Certifique-se de que o URI de redirecionamento na Google Cloud Console corresponde exatamente:
https://your-domain.com/admin/mailbox/oauth/callback?provider=gmail - Verifique barras finais ou incompatibilidades HTTP vs HTTPS
"Token expired" após 7 dias:
- Isso é esperado para apps não verificados (política do Google)
- Reautorize clicando em "Connect Gmail" novamente
- Para evitar isso, envie seu app para verificação do Google
Erro "Access blocked":
- Certifique-se de que seu e-mail esteja adicionado à lista "Test users" (para apps não verificados)
- Verifique se a Gmail API está habilitada no seu projeto Google Cloud
Não consegue encontrar Gmail API:
- Certifique-se de estar no projeto Google Cloud correto
- Tente pesquisar por "Gmail" na Biblioteca de APIs
Recursos Adicionais
A expiração de token de 7 dias e as restrições de usuários de teste são políticas de segurança do Google para aplicações não verificadas. Essas limitações não são impostas pelo nosso software. Uma vez que seu app seja verificado pelo Google, essas restrições são removidas.