Deutsch
  • GitHub
  • Secret Vault
  • Token-Speicherung
  • OAuth
  • Social Sign-in

# GitHub Apps vs. OAuth Apps: Wähle die richtige GitHub-Anbindung

Vergleiche GitHub Apps und OAuth Apps für die Logto-Integration. Erfahre die wichtigsten Unterschiede bei Sicherheit, Berechtigungen, Token-Management und finde die richtige GitHub-Authentifizierungsmethode für deine Anwendung.

Ran
Ran
Product & Design

Verschwenden Sie keine Wochen mit Benutzerauthentifizierung
Bringen Sie sichere Apps schneller mit Logto auf den Markt. Integrieren Sie Benutzerauthentifizierung in Minuten und konzentrieren Sie sich auf Ihr Kernprodukt.
Jetzt starten
Product screenshot

Bei der Integration der GitHub-Authentifizierung in deine Logto-Anwendung hast du zwei Möglichkeiten: GitHub Apps und GitHub OAuth Apps. Beide bieten zwar die "Mit GitHub anmelden"-Funktion, aber sie unterscheiden sich grundlegend in Bezug auf Sicherheit, Token-Management und API-Zugriff. Dieser Leitfaden hilft dir, die wichtigsten Unterschiede zu verstehen und die richtige Vorgehensweise für deinen Anwendungsfall zu wählen.

Hintergrund: Zwei Wege zur GitHub-Integration

Die aktuelle Logto-Dokumentation führt dich durch das Einrichten einer GitHub OAuth App für Social Sign-in. Dies ist die einfachere und direktere Option, die sich hervorragend für grundlegende Authentifizierungsanforderungen eignet. GitHub Apps hingegen repräsentieren den modernen, von GitHub selbst empfohlenen Ansatz und bieten erweiterte Sicherheitsfunktionen und eine granulare Steuerung.

Stell es dir so vor: OAuth Apps sind wie ein Generalschlüssel für dein Haus – nach der Autorisierung erhält man weitreichenden Zugang. GitHub Apps hingegen sind wie ein Smart-Lock-System mit bestimmten Zugangscodes für verschiedene Räume – Nutzer können gezielt Berechtigungen erteilen, exakt für das, was deine App benötigt.

Wichtigste Unterschiede auf einen Blick

Berechtigungen: Breit vs. Feingranular

  • OAuth Apps verwenden breite Scopes – die Anforderung von repo gewährt vollständige Kontrolle über das Repository.
  • GitHub Apps nutzen feingranulare Berechtigungen – du kannst zum Beispiel nur "Issues: Lesen" anfordern, ohne Zugriff auf den Code. Nutzer können während der Installation auch bestimmte Repos wählen, anstatt pauschalen Zugang zu gewähren.

Token-Sicherheit: Permanent vs. Ablaufend

  • OAuth Apps geben Tokens aus, die nie ablaufen (bis sie manuell widerrufen werden), ohne Mechanismus zur Aktualisierung.
  • GitHub Apps verwenden kurzlebige Tokens (Ablauf nach 1 Stunde) mit automatischer Erneuerung – deutlich sicherer für dauerhafte Anwendungen.

Identität: Nutzer vs. Bot

  • OAuth Apps agieren immer als autorisierender Nutzer (z. B. @octocat) und teilen deren Rate-Limit (5.000 Anfragen/Stunde).
  • GitHub Apps können eigenständig als Bot auftreten (z. B. @my-app[bot]) und erhalten skalierbare Rate-Limits, die mit der Nutzung wachsen – ideal für Automatisierung.

Zugriffskontrolle: Alles-oder-nichts vs. Selektiv

  • OAuth Apps erfordern eine einmalige Autorisierung für alle zugänglichen Ressourcen.
  • GitHub Apps erlauben es Nutzern, die App zu installieren, spezifische Repositories auszuwählen und erhalten Webhook-Benachrichtigungen über Berechtigungsänderungen – für mehr Transparenz und Kontrolle.

Persistenz: Nutzerabhängig vs. Unabhängig

  • OAuth Apps sind an den autorisierenden Nutzer gebunden – wenn dieser Entwickler keinen Zugriff mehr hat oder die Organisation verlässt, funktioniert die App nicht mehr.
  • GitHub Apps funktionieren weiter, selbst wenn der Entwickler, der die App installiert hat, die Organisation verlässt – gewährleistet unterbrechungsfreien Betrieb für Automatisierung und Integrationen.

Welche Option solltest du wählen?

Sowohl GitHub Apps als auch OAuth Apps funktionieren nahtlos mit Logtos Social Connector. Logtos Secret Vault speichert Tokens aus beiden Integrationen sicher, doch das Nutzererlebnis ist jeweils unterschiedlich:

Einfaches Social Sign-in mit OAuth Apps

Wenn du nur Nutzer authentifizieren möchtest (Mit GitHub anmelden) und später keine GitHub APIs aufrufst, ist der Weg über die OAuth App am schnellsten:

  • Einfache Einrichtung: Nutzer autorisieren deine OAuth App und melden sich über GitHub an.
  • Tokens sind langanhaltend (ohne Erneuerung): Logto kann das Zugriffstoken im Secret Vault speichern, aber es gibt keinen Aktualisierungs-Flow – Tokens bleiben gültig, bis sie widerrufen werden.
  • Am besten, wenn du nur die Nutzeridentität (E-Mail, Name, Avatar) benötigst und keine automatisierten API-Aufgaben ausführst.

Warum diese Option: Am schnellsten implementiert, ideal für Prototypen oder Apps, die lediglich einen Login und gelegentlichen Profilabgleich benötigen.

Erweiterte Integration mit GitHub Apps

Entscheide dich für eine GitHub App, wenn deine Anwendung dauerhaften Zugriff auf GitHub APIs, Hintergrundautomatisierung oder höhere Sicherheit benötigt:

  • Feingranulare Berechtigungen und Auswahl der Repositories pro Installation halten den Zugang minimal und nachvollziehbar.
  • Tokens sind kurzlebig (typisch 1 Stunde) und GitHub Apps können Refresh Tokens bereitstellen; ist dies aktiviert, speichert Logto sowohl Zugriffs- als auch Refresh-Token im Secret Vault und übernimmt die Rotation, damit dein Backend ohne erneute Anmeldung weiterarbeitet.
  • App-Identität (Bot) verbessert die Attribution und skalierbare Rate-Limits sorgen für mehr Zuverlässigkeit bei starker Automatisierung.

Ideal für:

  • SaaS-Plattformen, die GitHub-Repositories im Namen von Nutzern verwalten
  • KI-Agenten, die mit Code, Issues oder Pull-Requests interagieren
  • Anwendungen mit Bedarf an dauerhaftem API-Zugriff
  • Tools für Aufgaben der Hintergrundautomatisierung

Einrichtung einer GitHub App mit Logto

Das Einrichten einer GitHub App folgt einem ähnlichen Ablauf wie bei OAuth Apps, mit einigen wichtigen Unterschieden. Die Migration von OAuth App zu GitHub App erfordert nur geringen Aufwand.

Erstellen einer GitHub App

  1. Navigiere zu "GitHub Einstellungen > Einstellungen für Entwickler > GitHub Apps"

  2. Klicke auf "Neue GitHub App"

  3. Konfiguriere:

    • Name der GitHub App: Eindeutiger Bezeichner deiner App
    • Homepage-URL: Die Website deiner Anwendung
    • Callback-URL: Die Callback-URI deines Logto-Connectors (wie bei der OAuth App)
    • Benutzerauthorisierung (OAuth) während der Installation anfordern: Aktivieren
    • Webhook: Optional, je nach Bedarf
    • Berechtigungen: Wähle feingranulare Berechtigungen (z. B. "Issues: Lesen")
    • Nutzerberechtigungen: Konto-Berechtigungen hinzufügen, falls im Namen von Nutzern gehandelt wird
  4. Einen Client-Secret generieren (wie bei der OAuth App)

integrate-github-apps.png

Konfiguration in Logto

Die Konfiguration des Logto-Connectors ist fast identisch:

  1. Gib die Client-ID deiner GitHub App ein
  2. Füge das Client-Secret hinzu
  3. Aktiviere „Store tokens for persistent API access“ falls du GitHub APIs aufrufen möchtest
  4. Wichtiger Unterschied – Scopes:
    • Im Gegensatz zu OAuth Apps (bei denen Scopes im Scope-Feld von Logto hinzugefügt werden), werden Berechtigungen von GitHub Apps direkt in den Einstellungen der GitHub App ausgewählt.
    • Das Scope-Feld in Logto einfach leer lassen
  5. Refresh Token anfordern (optional)
    • Füge offline_access im Scope-Feld von Logto hinzu, um Refresh Tokens zu aktivieren
    • GitHub stellt automatisch ein Refresh Token bereit und Logto übernimmt die Rotation und Speicherung beider Tokens im Secret Vault
    • Hinweis: OAuth Apps unterstützen keine Refresh Tokens – deren Zugriffstokens laufen nie ab, daher ist offline_access irrelevant. Bei GitHub Apps für die Integration ist das jedoch anders.

integrate-github-connector-in-logto.png

Fazit

OAuth Apps sind nach wie vor eine valide Option für grundlegende Authentifizierung, allerdings stehen GitHub Apps für die Zukunft der GitHub-Integrationen. Sie bieten durch Token-Ablauf mehr Sicherheit, genauere Berechtigungsmodelle und bessere Kontrolle für Nutzer.

Für Logto-Nutzer funktionieren beide Optionen mit dem Social Connector. Die Entscheidung hängt von deinen Anforderungen ab:

  • Starte einfach mit OAuth Apps, wenn du nur die Authentifizierung brauchst
  • Wechsle zu GitHub Apps, wenn du API-Zugriff, Automatisierung oder erhöhte Sicherheit benötigst

Und denk daran: Logtos Secret Vault und automatische Token-Erneuerung machen das Management von GitHub App Tokens genauso einfach wie bei OAuth Apps – ohne Kompromisse bei der Sicherheit. Ganz gleich, ob du einen KI-Coding-Assistenten, eine Projektmanagement-Plattform oder ein Entwickler-Tool baust: Du kannst nun die richtige GitHub-Integration für deine Logto-Anwendung auswählen.

Bereit zum Start? Sieh dir den GitHub-Connector von Logto an und beginne noch heute mit der Integration von GitHub-Authentifizierung.

Weitere Ressourcen