Nederlands
  • GitHub
  • Secret vault
  • Tokenopslag
  • OAuth
  • Sociale aanmelding

GitHub-apps versus OAuth-apps: Kies de juiste GitHub-verbinding

Vergelijk GitHub-apps met OAuth-apps voor Logto-integratie. Leer de belangrijkste verschillen op het gebied van beveiliging, machtigingen, tokenbeheer en kies de juiste GitHub-authenticatiemethode voor jouw applicatie.

Ran
Ran
Product & Design

Stop met weken verspillen aan gebruikersauthenticatie
Lanceer veilige apps sneller met Logto. Integreer gebruikersauthenticatie in minuten en focus op je kernproduct.
Aan de slag
Product screenshot

Wanneer je GitHub-authenticatie in je Logto-applicatie integreert, heb je twee opties: GitHub Apps en GitHub OAuth Apps. Beide bieden "Aanmelden met GitHub"-functionaliteit, maar ze verschillen fundamenteel qua beveiliging, tokenbeheer en API-toegang. Deze gids helpt je om de belangrijkste verschillen te begrijpen en de juiste aanpak voor jouw gebruikssituatie te kiezen.

Achtergrond: Twee manieren van GitHub-integratie

De huidige Logto-documentatie loodst je door het opzetten van een GitHub OAuth App voor sociale aanmelding. Dit is de eenvoudigste en meest rechtlijnige optie die prima werkt voor basisbehoeften rondom authenticatie. GitHub Apps zijn daarentegen de moderne, door GitHub zelf aanbevolen methode, met extra beveiligingsmogelijkheden en fijnmazige controle.

Zie het zo: OAuth-apps zijn alsof je iemand een loper voor je huis geeft—ze krijgen brede toegang zodra ze zijn geautoriseerd. GitHub-apps lijken meer op een slim sluitsysteem met aparte toegangscodes voor verschillende kamers—gebruikers kunnen specifieke machtigingen verlenen voor precies wat jouw app nodig heeft.

Belangrijkste verschillen in één oogopslag

Machtigingen: Breed versus fijnmazig

  • OAuth Apps gebruiken brede scopes—repo aanvragen geeft volledige repository-controle.
  • GitHub Apps gebruiken fijnmazige machtigingen—je kunt bijvoorbeeld alleen "Issues: Lezen" aanvragen zonder aan code te komen. Gebruikers kunnen tijdens de installatie ook specifieke repositories selecteren in plaats van algehele toegang te geven.

Tokenbeveiliging: Permanent versus verlopen

  • OAuth Apps geven tokens uit die nooit verlopen (tenzij handmatig ingetrokken), zonder verversingsmechanisme.
  • GitHub Apps gebruiken tokens met een korte levensduur (1 uur vervaltijd) en automatische verversing—veel veiliger voor applicaties die lang draaien.

Identiteit: Gebruiker versus bot

  • OAuth Apps handelen altijd uit naam van de authoriserende gebruiker (bijvoorbeeld @octocat) en delen diens rate limit (5.000 verzoeken/uur).
  • GitHub Apps kunnen onafhankelijk werken met hun eigen bot-identiteit (bijvoorbeeld @my-app[bot]) en profiteren van schaalbare rate-limieten die met het gebruik meegroeien—perfect voor automatisering.

Toegang: Alles of niets versus selectief

  • OAuth Apps vereisen eenmalige autorisatie voor alle beschikbare resources.
  • GitHub Apps laten gebruikers de app installeren, specifieke repositories kiezen en ontvangen webhook-meldingen over permissiewijzigingen—bieden dus meer transparantie en controle.

Persistentie: Gebruikersafhankelijk versus onafhankelijk

  • OAuth Apps zijn gekoppeld aan de authoriserende gebruiker—als die developer toegang verliest of een organisatie verlaat, stopt de app met werken.
  • GitHub Apps blijven werken, ook al vertrekt de developer die de app heeft geïnstalleerd uit de organisatie—gegarandeerde ononderbroken service voor automatisering en integraties.

Welke kies je?

Zowel GitHub Apps als OAuth Apps werken naadloos met Logto's social connector. Logto's Secret Vault slaat tokens van beide integraties veilig op, maar elke methode biedt een andere ervaring:

Basis sociale aanmelding met OAuth Apps

Als je alleen gebruikers wilt authenticeren (Aanmelden met GitHub) en verder geen GitHub APIs gebruikt, is de OAuth App route het snelst:

  • Eenvoudige setup: gebruikers autoriseren jouw OAuth App en melden zich aan via GitHub.
  • Tokens leven lang (geen verversing): Logto kan de access token opslaan in Secret Vault, maar er is geen verversingsflow—tokens blijven geldig tot ze ingetrokken worden.
  • Ideaal wanneer je alleen gebruikersinformatie (email, naam, avatar) nodig hebt en geen geautomatiseerd API-werk uitvoert.

Waarom kiezen: snel te implementeren voor prototypes of apps die alleen login en af en toe een profiel-sync nodig hebben.

Geavanceerde integratie met GitHub Apps

Kies een GitHub App als jouw applicatie continue toegang nodig heeft tot GitHub APIs, achtergrondautomatisering, of strengere beveiliging:

  • Fijnmazige machtigingen en selectie van repositories per installatie houden de toegang minimaal en controleerbaar.
  • Tokens zijn kortlevend (meestal 1 uur) en GitHub Apps kunnen refresh tokens leveren; als deze optie is ingeschakeld, slaat Logto zowel access- als refresh-tokens op in Secret Vault en verzorgt automatisch de rotatie zodat je backend blijft werken zonder dat gebruikers opnieuw moeten inloggen.
  • App-identiteit (bot) verbetert attributie en schaalbare rate-limieten maken het betrouwbaarder voor zware automatisering.

Ideaal voor:

  • SaaS-platformen die GitHub repositories beheren voor gebruikers
  • AI-agenten die werken met code, issues of pull requests
  • Applicaties die langdurige API-toegang vereisen
  • Tools die achtergrondautomatisering uitvoeren

Een GitHub App instellen met Logto

Het opzetten van een GitHub App volgt een vergelijkbare aanpak als OAuth Apps, met een paar belangrijke verschillen. Migratie van een OAuth App naar een GitHub App vergt minimale inspanning.

Een GitHub App aanmaken

  1. Navigeer naar "GitHub Settings > Developer settings > GitHub Apps"

  2. Klik op "New GitHub App"

  3. Stel in:

    • GitHub App-naam: Unieke naam voor je app
    • Homepage URL: Website van je applicatie
    • Callback URL: Callback-URI van je Logto-connector (gelijk aan die van de OAuth App)
    • Request user authorization (OAuth) during installation: Zet dit aan
    • Webhook: Optioneel, afhankelijk van je behoeften
    • Machtigingen: Kies fijnmazige machtigingen (zoals "Issues: Lezen")
    • Gebruikersmachtigingen: Voeg accountmachtigingen toe indien de app namens gebruikers handelt
  4. Genereer een client secret (net zoals bij een OAuth App)

integrate-github-apps.png

Configureren in Logto

De Logto-connectorconfiguratie is vrijwel identiek:

  1. Vul de Client ID van je GitHub App in
  2. Voeg de Client secret toe
  3. Zet "Store tokens for persistent API access" aan als je GitHub APIs wilt aanroepen
  4. Belangrijk verschil - Scopes:
    • In tegenstelling tot OAuth Apps (waarbij je scopes in het scope-veld van Logto moet toevoegen), stel je de machtigingen van je GitHub App in binnen de GitHub App-instellingen.
    • Laat het scope-veld in Logto dus leeg
  5. Refresh token aanvragen (optioneel)
    • Voeg offline_access toe aan het scope-veld in Logto om refresh tokens mogelijk te maken
    • GitHub geeft automatisch een refresh token uit, en Logto verzorgt rotatie en slaat beide tokens op in Secret Vault
    • Let op: OAuth Apps ondersteunen geen refresh tokens—hun accesstokens verlopen nooit, dus offline_access geldt niet. Dit is anders wanneer je GitHub Apps voor integratie gebruikt.

integrate-github-connector-in-logto.png

Conclusie

Hoewel OAuth Apps een geldige optie blijven voor basale authenticatie, zijn GitHub Apps de toekomst van GitHub-integraties. Ze bieden superieure beveiliging dankzij token-verval, preciezere machtigingsmodellen en meer controle voor gebruikers over toegang.

Voor Logto-gebruikers werken beide opties met de social connector. De keuze hangt af van jouw specifieke behoeften:

  • Begin eenvoudig met OAuth Apps als je alleen authenticatie nodig hebt
  • Schakel over naar GitHub Apps voor API-toegang, automatisering of betere beveiliging

En onthoud—Logto's Secret Vault en automatische token-verversing maken het beheren van GitHub App-tokens net zo gemakkelijk als bij OAuth Apps, zonder concessies op beveiliging. Of je nu een AI-codeassistent, projectmanagementplatform of ontwikkelaarstool bouwt, je hebt nu de kennis om de juiste GitHub-integratie voor jouw Logto-applicatie te kiezen.

Klaar om te beginnen? Bekijk dan Logto's GitHub connector om vandaag nog GitHub-authenticatie te integreren.

Aanvullende bronnen