Português (Portugal)
  • GitHub
  • Cofre secreto
  • Armazenamento de tokens
  • OAuth
  • Início de sessão social

# 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.

Ran
Ran
Product & Design

Pare de perder semanas com autenticação de utilizadores
Lance aplicações seguras mais rapidamente com o Logto. Integre a autenticação de utilizadores em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

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 repo concede 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

  1. Vai a "GitHub Settings > Developer settings > GitHub Apps"

  2. Clica em "New GitHub App"

  3. 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
  4. Gera um client secret (igual ao OAuth App)

integrate-github-apps.png

Configuração na Logto

A configuração do conector Logto é quase idêntica:

  1. Insere o Client ID do teu GitHub App
  2. Adiciona o Client secret
  3. Ativa a opção "Guardar tokens para acesso persistente à API" se precisares de aceder à API do GitHub
  4. 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
  5. Solicitar token de renovação (opcional)
    • Acrescenta offline_access ao 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_access não se aplica. Isto é diferente ao usar GitHub Apps para integração.

integrate-github-connector-in-logto.png

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.

Recursos adicionais