# GitHub Apps vs. OAuth Apps: Escolhe a ligação GitHub certa
Compara GitHub Apps e OAuth Apps para integração Logto. Aprende as principais diferenças em segurança, permissões, gestão de tokens e escolhe o método de autenticação GitHub apropriado para a tua aplicação.
Ao integrares a autenticação do GitHub na tua aplicação Logto, tens duas opções: GitHub Apps e GitHub OAuth Apps. Apesar de ambas permitirem a funcionalidade "Entrar com o GitHub", oferecem experiências fundamentalmente diferentes em termos de segurança, gestão de tokens e acesso à API. Este guia vai ajudar-te a entender as principais diferenças e escolher a abordagem certa para o teu caso de uso.
Contexto: Dois caminhos para integração com GitHub
A documentação atual da Logto orienta-te na configuração de uma GitHub OAuth App para início de sessão social. Esta é a opção mais simples e direta que funciona bem para necessidades básicas de autenticação. No entanto, os GitHub Apps representam a abordagem moderna e recomendada pelo próprio GitHub, oferecendo recursos de segurança melhorados e controlo mais granular.
Vê as coisas desta forma: OAuth Apps são como dar a alguém uma chave mestra da tua casa — recebem acesso amplo quando autorizados. Os GitHub Apps, por outro lado, são como um sistema de fechadura inteligente com códigos de acesso para diferentes divisões — os utilizadores podem conceder permissões precisas apenas para o que tua app precisa.
Principais diferenças num relance
Permissões: Gerais vs. granulares
- OAuth Apps usam permissões amplas — pedir
repoconcede controlo total sobre o repositório. - GitHub Apps usam permissões granulares — podes pedir apenas "Issues: Leitura" sem acesso ao código. Os utilizadores também podem escolher repositórios específicos durante a instalação, em vez de conceder acesso total.
Segurança dos tokens: Permanente vs. expirada
- 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 de renovação automática — significativamente mais seguro para aplicações em funcionamento contínuo.
Identidade: Utilizador vs. bot
- OAuth Apps atuam sempre como o utilizador autorizado (ex:
@octocat) e partilham o limite de pedidos (5.000 por hora). - GitHub Apps podem atuar de forma independente, com identidade de bot própria (ex:
@my-app[bot]) e beneficiar de limites escaláveis que aumentam com o uso — perfeito para automação.
Controlo de acesso: Tudo ou nada vs. seletivo
- OAuth Apps exigem autorização única para todos os recursos disponíveis.
- GitHub Apps permitem ao utilizador instalar a app, escolher repositórios específicos e receber notificações de webhooks sobre alterações de permissões — oferecendo melhor transparência e controlo.
Persistência: Dependente do utilizador vs. independente
- OAuth Apps estão ligadas ao utilizador que autoriza — se esse programador perder o acesso ou sair de uma organização, a app deixa de funcionar.
- GitHub Apps continuam a funcionar mesmo se o programador que a instalou sair da tua organização — garantindo serviço ininterrupto para automação e integrações.
Qual deves escolher?
Tanto GitHub Apps como OAuth Apps funcionam perfeitamente com o conector social da Logto. O Cofre Secreto da Logto armazena com segurança tokens de qualquer integração, mas cada um proporciona uma experiência distinta:
Início de sessão social básico com OAuth Apps
Se só precisas autenticar utilizadores (Entrar com GitHub) e não fazer chamadas à API do GitHub depois, o caminho do OAuth App é o mais rápido:
- Configuração simples: os utilizadores autorizam o teu OAuth App e entram via GitHub.
- Tokens são de longa duração (sem renovação): a Logto pode guardar o token de acesso no Cofre Secreto, mas não há fluxo de renovação — os tokens mantêm-se válidos até serem revogados.
- Melhor quando apenas precisas da identidade do utilizador (email, nome, avatar) e não vais executar trabalho automatizado na API.
Porque deves escolher isto: é a forma mais rápida de implementar protótipos ou apps que só precisam de login e sincronização ocasional do perfil.
Integração avançada com GitHub Apps
Escolhe um GitHub App quando a tua aplicação precisa de acesso contínuo à API do GitHub, automação em segundo plano ou segurança mais restrita:
- Permissões granulares e seleção de repositórios por instalação mantêm o acesso mínimo e auditável.
- Tokens expiram rapidamente (normalmente em 1 hora) e os GitHub Apps podem fornecer tokens de renovação; quando ativado, a Logto guarda tanto o token de acesso como o de renova ção no Cofre Secreto e gere a rotação, por isso o teu backend continua a funcionar sem re-login do utilizador.
- Identidade da app (bot) melhora a atribuição e limites de pedidos escaláveis tornam-na mais fiável para automação intensiva.
Melhor para:
- Plataformas SaaS que gerem repositórios GitHub em nome dos utilizadores
- Agentes de IA que interagem com código, issues ou pull requests
- Aplicações que precisam de acesso contínuo à API
- Ferramentas que executam tarefas automatizadas em segundo plano
Como configurar um GitHub App com a Logto
Configurar um GitHub App segue um padrão semelhante aos OAuth Apps, com algumas diferenças importantes. A migração de OAuth App para GitHub App requer um esforço mínimo.
Criar um GitHub App
-
Vai a "GitHub Settings > Developer settings > GitHub Apps"
-
Clica em "New GitHub App"
-
Configura:
- Nome do GitHub App: Identificador único da tua app
- Homepage URL: Website da tua aplicação
- Callback URL: O URI de callback do teu conector Logto (igual ao OAuth App)
- Pedir autorização ao utilizador (OAuth) durante a instalação: Ativa isto
- Webhook: Opcional, consoante as tuas necessidades
- Permissões: Seleciona permissões granulares (ex: "Issues: Leitura")
- Permissões do utilizador: Acrescenta permissões de conta se atuar em nome de utilizadores
-
Gera um client secret (igual ao OAuth App)

Configuração na Logto
A configuração do conector Logto é quase idêntica:
- Insere o Client ID do teu GitHub App
- Adiciona o Client secret
- Ativa a opção "Guardar tokens para acesso persistente à API" se precisares de aceder à API do GitHub
- Diferença crítica - Scopes:
- Ao contrário dos OAuth Apps (que requerem adicionar scopes no campo scope da Logto), as permissões dos GitHub Apps são selecionadas nas definições do GitHub App.
- Basta deixar o campo scope vazio na Logto
- Solicitar token de renovação (opcional)
- Acrescenta
offline_accessao campo scope na Logto para ativar tokens de renovação - O GitHub emite automaticamente um token de renovação, e a Logto gere a rotação e armazena ambos os tokens no Cofre Secreto
- Nota: Os OAuth Apps não suportam tokens de renovação — os tokens de acesso nunca expiram, por isso
offline_accessnão se aplica. Isto é diferente ao usar GitHub Apps para integração.
- Acrescenta

Conclusão
Embora os OAuth Apps continuem a ser uma opção válida para autenticação simples, os GitHub Apps representam o futuro das integrações GitHub. Oferecem segurança superior através da expiração dos tokens, modelos de permissões mais precisos e melhor controlo do utilizador sobre os acessos.
Para quem usa Logto, ambas as opções funcionam com o conector social. A escolha depende das tuas necessidades:
- Começa simples com OAuth Apps se só precisas de autenticação
- Evolui para GitHub Apps quando precisares de acesso à API, automação ou segurança reforçada
E lembra-te — o Cofre Secreto da Logto e a renovação automática de tokens tornam a gestão de tokens de GitHub Apps tão simples como nos OAuth Apps, sem perder segurança. Estejas a construir um assistente de código IA, uma plataforma de gestão de projetos ou uma ferramenta de produtividade para developers, agora tens o conhecimento para escolher a integração GitHub certa para a tua aplicação Logto.
Pronto para começar? Consulta o conector GitHub da Logto para começar a integrar a autenticação GitHub hoje.

