OAuth

OAuth gibt Anwendungen gezielten, zeitlich begrenzten Zugriff – ohne Passwörter weiterzugeben.

Ein offenes Autorisierungsprotokoll, das Anwendungen begrenzten Zugriff auf Nutzerkonten ermöglicht – ohne dass der Nutzer sein Passwort teilen muss.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Delegierte Autorisierung: Apps erhalten begrenzten Zugriff ohne Passwort-Weitergabe
  2. Token-basiert: Access Tokens mit begrenzter Gültigkeit und definierten Berechtigungen (Scopes)
  3. Standard für 'Login mit Google/GitHub' und API-Zugriff auf Drittanbieter-Dienste

Sofortantwort

OAuth einfach erklärt

Ein Protokoll, das sicheren Zugriff auf Nutzerkonten ermöglicht.

Kurz gesagt
Delegierte Autorisierung: Apps erhalten begrenzten Zugriff ohne Passwort-Weitergabe
Typischer Einsatz
Social Login, API-Zugriff, KI-API-Authentifizierung
Wichtig zu wissen
Standard für 'Login mit Google/GitHub' und API-Zugriff auf Drittanbieter-Dienste

OAuth im Überblick

OAuth 2.0 ist der Industriestandard für sichere Autorisierung – das Protokoll, das “Mit Google anmelden” und “Mit GitHub anmelden” ermöglicht. Es löst ein fundamentales Problem: Wie kann eine App auf Ressourcen eines Nutzers zugreifen, ohne dessen Passwort zu kennen? OAuth trennt Authentifizierung (Wer bist du?) von Autorisierung (Was darfst du?) und ist für jede KI-Anwendung relevant, die auf Nutzerdaten oder externe APIs zugreift.

OAuth löst ein einfaches Problem: Wie gibst du einer App Zugriff auf deine Daten, ohne dein Passwort zu verraten?

Ablauf (vereinfacht):

1. App: "Darf ich auf deine GitHub-Repos zugreifen?"
2. Du: Wirst zu GitHub weitergeleitet
3. GitHub: "App X möchte Zugriff auf deine Repos. Erlauben?"
4. Du: "Ja, erlauben"
5. GitHub → App: Hier ist ein Access Token (gültig 1 Stunde)
6. App: Nutzt Token für API-Zugriff (nur Repos, nichts anderes)

Technisch betrachtet

OAuth 2.0 Flows

  • Authorization Code Flow: Standard für Web-Apps (mit Backend)
  • PKCE Flow: Für SPAs und Mobile Apps (ohne Backend-Secret)
  • Client Credentials: Service-to-Service (kein Nutzer involviert)
  • Device Flow: Für Geräte ohne Browser (Smart TV, CLI-Tools)

Tokens

  • Access Token: Kurzlebig (Minuten bis Stunden), für API-Zugriff
  • Refresh Token: Langlebig, zum Erneuern des Access Tokens
  • ID Token (OIDC): JWT mit Nutzerinformationen (Name, E-Mail)

Scopes (Berechtigungen)

scope=read:repos write:gists user:email

Scopes begrenzen was die App tun darf – Principle of Least Privilege.

Sicherheits-Best-Practices

  • Access Tokens nie im LocalStorage speichern (XSS-Risiko)
  • PKCE für alle öffentlichen Clients verwenden
  • Refresh Token Rotation aktivieren
  • State-Parameter gegen CSRF-Angriffe

Schritt für Schritt

Zugriff delegiert freigeben

OAuth trennt die Anmeldung bei einem vertrauenswürdigen Dienst von der begrenzten Berechtigung, die eine andere Anwendung erhält.

  1. Zugriff anfragen

    Anfrage

    Die Anwendung benennt klar, welche Aktion oder Datenkategorie sie im Namen der nutzenden Person benötigt.

    app -> angeforderte berechtigungen
  2. Einwilligung einholen

    Einwilligung

    Der Autorisierungsdienst zeigt den Umfang und die Anwendung, damit die Person bewusst zustimmen oder ablehnen kann.

    nutzerentscheidung -> erlauben oder ablehnen
  3. Kurzlebigen Zugriff erhalten

    Token

    Nach Zustimmung erhält die Anwendung ein Token mit begrenzter Gültigkeit und den vereinbarten Berechtigungen.

    freigabe -> zeitlich begrenztes access token
  4. Token sicher verwenden

    Nutzung

    Die Anwendung nutzt das Token nur über geschützte Wege, prüft Fehlerfälle und erneuert oder widerruft Berechtigungen kontrolliert.

    token + api anfrage -> erlaubte aktion

Konkretes Beispiel

Eine Kalender-App verbinden

Eine Assistenz-App soll Termine lesen, aber keine Änderungen vornehmen.

Passwort weitergeben

Die App bekäme vollständigen Kontozugriff und das Passwort müsste bei ihr gespeichert werden.

OAuth mit begrenztem Umfang

Die Person stimmt einem Leserecht für den Kalender zu. Die App erhält ein zeitlich begrenztes Token mit genau dieser Berechtigung.

OAuth minimiert den Zugriff auf das, was eine Anwendung wirklich braucht.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Kein Passwort-Sharing: Anwendungen erhalten Zugriffstoken statt der dauerhaften Zugangsdaten einer Person.
  • Begrenzte Berechtigungen: Der Umfang lässt sich auf konkrete Daten und Aktionen einschränken.
  • Widerruf möglich: Zugriff kann unabhängig vom Hauptkonto wieder entzogen werden.
  • Standardisierte Integration: Viele Dienste und Anwendungen können über etablierte Muster sicher zusammenarbeiten.

Das solltest du beachten

  • Implementierung braucht Sorgfalt: Rücksprungadressen, Zustände und Token-Speicherung müssen korrekt abgesichert sein.
  • Autorisierung ist nicht Identität: Für Anmeldung und Nutzeridentität braucht es je nach Fall zusätzliche Standards.
  • Token bleiben schützenswert: Ein abgegriffenes Token kann innerhalb seiner Gültigkeit missbraucht werden.
  • Berechtigungen brauchen gutes Design: Zu breite oder unverständliche Anfragen untergraben das Prinzip der minimalen Rechte.
Vertiefung · für Fortgeschrittene

Die Rollen eines OAuth-Zugriffs

OAuth ordnet klar zu, wer Zugriff freigibt, wer ihn ausstellt und wer ihn im erlaubten Umfang nutzt.

Wissenskarte

delegierte Autorisierung per Token

Der Zugriff bleibt begrenzt, weil die Anwendung nur ein Token mit dem freigegebenen Umfang statt eines Passworts erhält. OAuth gliedert sich in: Nutzende Person, Anwendung, Autorisierungsdienst, Berechtigungen, Access Token, Ressourcen-API.

01Einsatzbereiche

Wann ist OAuth sinnvoll?

Geeignet für

  • Social Login'Mit Google anmelden' – Nutzer authentifizieren ohne eigenes Passwort-System
  • API-ZugriffDrittanbieter-Apps begrenzten Zugriff auf Nutzerdaten geben (z.B. GitHub Repos)
  • KI-API-AuthentifizierungSichere Authentifizierung für OpenAI, Anthropic und andere LLM-APIs
  • Microservice-KommunikationService-to-Service Authentifizierung mit Client Credentials Flow

↑ Inhalt

02Werkzeuge

Womit OAuth umgesetzt wird

↑ Inhalt

Merksatz

OAuth ist wie ein Hotelschlüssel

Du bekommst eine Karte, die nur bestimmte Türen öffnet und nach einer gewissen Zeit abläuft – ohne dass du den Generalschlüssel des Hotels brauchst.

  1. Delegierte Autorisierung: Apps erhalten begrenzten Zugriff ohne Passwort-Weitergabe
  2. Token-basiert: Access Tokens mit begrenzter Gültigkeit und definierten Berechtigungen (Scopes)
  3. Standard für 'Login mit Google/GitHub' und API-Zugriff auf Drittanbieter-Dienste

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu OAuth

Was ist der Unterschied zwischen OAuth und OpenID Connect?

OAuth regelt Autorisierung (was darf eine App tun?), OpenID Connect (OIDC) baut darauf auf und regelt Authentifizierung (wer ist der Nutzer?). OIDC fügt einen ID-Token mit Nutzerinfos hinzu.

Sind OAuth-Tokens sicher?

Ja, wenn korrekt implementiert: kurze Gültigkeit, HTTPS-only, sichere Speicherung. Refresh Tokens sollten rotiert werden und Access Tokens nie im LocalStorage landen.

Wie funktioniert der OAuth-Flow für mobile Anwendungen?

Der OAuth-Flow für mobile Anwendungen umfasst in der Regel eine Umleitung des Nutzers zu einem Autorisierungsserver, wo er seine Zugangsdaten eingibt. Nach der Genehmigung erhält die App ein Token, das für zukünftige API-Anfragen verwendet werden kann, ohne dass das Passwort des Nutzers gespeichert werden muss.

Was sind die Sicherheitsrisiken bei der Verwendung von OAuth?

Einige Sicherheitsrisiken bei der Verwendung von OAuth umfassen Token-Diebstahl, unsichere Umleitungen und das Risiko von Phishing-Angriffen. Es ist wichtig, sichere Praktiken wie die Verwendung von HTTPS und die Validierung von Redirect-URIs zu befolgen, um diese Risiken zu minimieren.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Verschlüsselung

    Lesbare Daten werden in unlesbaren Code umgewandelt.

  • Technisch vertiefen

    Zero Trust

    Sicherheitsmodell, das jeden Zugriff individuell verifiziert.

↑ Inhalt