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.
Zugriff anfragen
Anfrage
Die Anwendung benennt klar, welche Aktion oder Datenkategorie sie im Namen der nutzenden Person benötigt.
app -> angeforderte berechtigungenEinwilligung einholen
Einwilligung
Der Autorisierungsdienst zeigt den Umfang und die Anwendung, damit die Person bewusst zustimmen oder ablehnen kann.
nutzerentscheidung -> erlauben oder ablehnenKurzlebigen Zugriff erhalten
Token
Nach Zustimmung erhält die Anwendung ein Token mit begrenzter Gültigkeit und den vereinbarten Berechtigungen.
freigabe -> zeitlich begrenztes access tokenToken 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 FortgeschritteneDie Rollen eines OAuth-Zugriffs
OAuth ordnet klar zu, wer Zugriff freigibt, wer ihn ausstellt und wer ihn im erlaubten Umfang nutzt.
delegierte Autorisierung per Token