# GitHub Apps vs. OAuth Apps: Escolha a conexão certa com o GitHub
Compare GitHub Apps e OAuth Apps para integração com o Logto. Conheça as principais diferenças em segurança, permissões, gestão de tokens e escolha o melhor método de autenticação com GitHub para a sua aplicação.
Ao integrar a autenticação do GitHub na sua aplicação Logto, você tem duas opções: GitHub Apps e GitHub OAuth Apps. Embora ambos permitam a funcionalidade "Entrar com o GitHub", oferecem experiências fundamentalmente diferentes em termos de segurança, gerenciamento de tokens e acesso à API. Este guia vai ajudar você a entender as principais diferenças e escolher a abordagem ideal para o seu caso de uso.
Cenário: Dois caminhos para integração com o GitHub
A documentação atual do Logto orienta a configuração de um GitHub OAuth App para login social. Essa é a opção mais simples e direta, ideal para necessidades básicas de autenticação. No entanto, GitHub Apps representam a abordagem moderna, recomendada pelo próprio GitHub, oferecendo recursos de segurança aprimorados e controle mais granular.
Veja desta forma: OAuth Apps são como dar a alguém uma chave mestra da sua casa — a pessoa recebe acesso amplo ao autorizar. GitHub Apps, por outro lado, funcionam como um sistema de fechadura inteligente, com códigos de acesso específicos para cada cômodo — usuários podem conceder permissões exatas apenas para o que seu app precisa.
Principais diferenças de relance
Permissões: Amplo vs. granular
- OAuth Apps usam escopos amplos — requisitar
repoconcede controle total do repositório. - GitHub Apps usam permissões detalhadas — você pode solicitar apenas "Issues: leitura" sem acessar o código. Usuários também podem selecionar repositórios específicos durante a instalação, sem conceder acesso geral.
Segurança dos tokens: Permanente vs. expiração
- OAuth Apps emitem tokens que nunca expiram (até serem revogados manualmente), sem mecanismo de renovação.
- GitHub Apps usam tokens de curta duração (expiram em 1 hora) com suporte automático a renovação — muito mais seguros para aplicações de longa execução.
Identidade: Usuário vs. bot
- OAuth Apps sempre agem como o usuário que autorizou (ex:
@octocat) e compartilham o limite de requisição (5.000 requisições/hora). - GitHub Apps podem agir de forma independente com sua própria identidade de bot (ex:
@meu-app[bot]) e contam com limites escaláveis de requisição que crescem com o uso — perfeito para automação.
Controle de acesso: Tudo ou nada vs. seletivo
- OAuth Apps exigem autorização única para todos os recursos acessíveis.
- GitHub Apps permitem que os usuários instalem o app, escolham repositórios específicos e recebam notificações via webhook sobre alterações de permissão — oferecendo mais transparência e controle.
Persistência: Dependente do usuário vs. independente
- OAuth Apps estão vinculados ao usuário que autorizou — se esse desenvolvedor perder acesso ou sair da organização, o app para de funcionar.
- GitHub Apps continuam funcionando mesmo que o desenvolvedor que instalou o app saia da sua organização — garantindo serviço ininterrupto para automações e integrações.
Qual escolher?
Tanto GitHub Apps quanto OAuth Apps funcionam perfeitamente com o conector social do Logto. O Cofre Secreto do Logto armazena tokens com segurança em ambos os casos, mas cada um oferece uma experiência distinta:
Login social básico com OAuth Apps
Se tudo que você precisa é autenticar usuários (Entrar com GitHub) e não vai usar as APIs do GitHub depois, o caminho do OAuth App é o mais rápido:
- Configuração simples: usuários autorizam seu OAuth App e fazem login via GitHub.
- Tokens são de longa duração (sem renovação): o Logto pode armazenar o token de acesso no Cofre Secreto, mas não há fluxo de renovação — tokens permanecem válidos até serem revogados.
- Melhor quando você só precisa da identidade do usuário (email, nome, avatar) e não faz trabalho automatizado com a API.
Por que escolher: implementação mais rápida para protótipos ou apps que só exigem login e atualização ocasional do perfil.
Integração avançada com GitHub Apps
Escolha um GitHub App quando sua aplicação precisar de acesso recorrente às APIs do GitHub, automação contínua ou segurança mais rigorosa:
- Permissões detalhadas e seleção de repositórios por instalação mantêm o acesso mínimo e auditável.
- Tokens têm curta duração (normalmente 1 hora) e GitHub Apps podem fornecer refresh tokens; quando habilitado, o Logto armazena ambos tokens (acesso e atualização) no Cofre Secreto e gerencia a rotação para que seu backend continue funcionando sem que o usuário faça login de novo.
- Identidade de app (bot) melhora a atribuição e limites escaláveis garantem maior confiabilidade para automações pesadas.
Melhor para:
- Plataformas SaaS que gerenciam repositórios do GitHub para os usuários
- Agentes de IA que interagem com código, issues ou pull requests
- Aplicações que precisam de acesso prolongado à API
- Ferramentas que realizam tarefas automatizadas em segundo plano
Configurando um GitHub App com Logto
A configuração de um GitHub App segue um padrão semelhante ao OAuth Apps, com algumas diferenças importantes. Migrar de um OAuth App para um GitHub App exige pouco esforço.
Criando um GitHub App
-
Acesse "GitHub Settings > Developer settings > GitHub Apps"
-
Clique em "New GitHub App"
-
Configure:
- Nome do GitHub App: Identificador único do seu app
- Homepage URL: Site da sua aplicação
- Callback URL: URI de callback do seu conector do Logto (igual ao OAuth App)
- Solicitar autorização do usuário (OAuth) durante a instalação: Ative esta opção
- Webhook: Opcional, conforme sua necessidade
- Permissões: Selecione permissões detalhadas (ex: "Issues: leitura")
- Permissões de usuário: Adicione permissões de conta se agir em nome dos usuários
-
Gere um client secret (igual ao OAuth App)

Configurando no Logto
A configuração do conector no Logto é quase idêntica:
- Insira o Client ID do seu GitHub App
- Adicione o Client secret
- Ative "Armazenar tokens para acesso persistente à API" se precisar chamar APIs do GitHub
- Diferença crítica - Escopos:
- Diferente dos OAuth Apps (que exigem informar escopos no campo de escopo do Logto), as permissões do GitHub App são selecionadas nas configurações do próprio app.
- Basta deixar o campo de escopo vazio no Logto
- Solicitar refresh token (opcional)
- Adicione
offline_accessao campo de escopo no Logto para permitir refresh tokens - O GitHub emite automaticamente um refresh token, e o Logto gerencia a rotação e armazena ambos tokens no Cofre Secreto
- Observação: OAuth Apps não suportam refresh tokens — seus tokens de acesso nunca expiram, então
offline_accessnão se aplica. Isso muda ao usar GitHub Apps para integração.
- Adicione

Conclusão
Embora OAuth Apps continuem sendo uma opção válida para autenticação básica, GitHub Apps representam o futuro das integrações com o GitHub. Eles oferecem segurança superior com expiração de tokens, modelos de permissão mais precisos e melhor controle de acesso pelo usuário.
Para quem usa Logto, ambas opções funcionam com o conector social. A escolha depende das suas necessidades:
- Comece simples com OAuth Apps se só precisa de autenticação
- Evolua para GitHub Apps ao precisar de acesso à API, automação ou segurança aprimorada
E lembre-se — o Cofre Secreto do Logto e a rotação automática de tokens tornam a gestão de tokens do GitHub App tão simples quanto OAuth Apps, sem comprometer a segurança. Seja você está construindo um assistente de código com IA, uma plataforma de gerenciamento de projetos ou uma ferramenta de produtividade para desenvolvedores, agora você tem o conhecimento para escolher a integração GitHub ideal para sua aplicação Logto.
Pronto para começar? Veja o conector GitHub do Logto e comece a integrar a autenticação GitHub hoje mesmo.

