Zum Hauptinhalt springen
Technologie

OAuth 2.0

OAuth 2.0 ist der Industriestandard für sichere Autorisierung, der "Login mit Google/Facebook/GitHub" ermöglicht.

Was ist OAuth 2.0?

OAuth 2.0 ist ein Autorisierungsframework, das Drittanbieter-Anwendungen begrenzten Zugriff auf Benutzerkonten ermöglicht - ohne dass der User sein Passwort teilen muss. Bekannt durch "Login mit Google", "Mit Facebook anmelden" oder "GitHub-Autorisierung". Der User authentifiziert sich beim Provider (Google), der dann einen Token an die Anwendung ausstellt.

Ausführliche Erklärung

OAuth 2.0 ist ein Autorisierungsframework, das Drittanbieter-Anwendungen begrenzten Zugriff auf Benutzerkonten ermöglicht - ohne dass der User sein Passwort teilen muss. Bekannt durch "Login mit Google", "Mit Facebook anmelden" oder "GitHub-Autorisierung". Der User authentifiziert sich beim Provider (Google), der dann einen Token an die Anwendung ausstellt.

Der OAuth-Flow: User klickt "Login mit Google" → Weiterleitung zu Google → User gibt Berechtigungen → Google leitet zurück mit Authorization Code → Backend tauscht Code gegen Access Token → Zugriff auf User-Daten (Name, Email, Profilbild). Der User gibt nie sein Google-Passwort an die App weiter. Berechtigungen sind granular - nur Zugriff auf freigegebene Daten.

OAuth löst zwei Probleme: Benutzer müssen keine weiteren Passwörter erstellen/merken, und Anwendungen bekommen keinen Vollzugriff auf Accounts. OpenID Connect (OIDC) erweitert OAuth um Authentifizierung (wer ist der User?) zusätzlich zur Autorisierung (was darf der User?). Für Web-Apps ist Social Login via OAuth/OIDC Standard - erhöht Conversion bei Registrierung um bis zu 50%.

OAuth 2.0 kennt mehrere Grant-Types für unterschiedliche Anwendungstypen. Für Web- und Mobile-Apps ist heute der Authorization Code Flow mit PKCE (Proof Key for Code Exchange) Standard: Die App erzeugt einen zufälligen Code-Verifier, schickt dessen Hash mit und beweist beim Token-Tausch den Besitz - das verhindert das Abfangen des Authorization Codes. Der ältere Implicit Flow gilt als unsicher und wird nicht mehr empfohlen. Der Client Credentials Flow dient dagegen der Server-zu-Server-Kommunikation ohne beteiligten Nutzer.

Wichtig ist die begriffliche Trennung: OAuth 2.0 regelt Autorisierung (Zugriff auf Ressourcen), nicht Authentifizierung (wer ist der Nutzer). Erst OpenID Connect (OIDC) ergänzt OAuth um ein signiertes ID-Token (ein JWT mit Nutzeridentität) und standardisierte Endpunkte wie /userinfo - deshalb basiert nahezu jedes moderne Single Sign-On auf OIDC, nicht auf reinem OAuth. Der Zugriff wird über Scopes granular begrenzt (etwa email oder profile), der Access-Token hat eine kurze Lebensdauer, während ein Refresh-Token die Sitzung verlängert. Ein verbreiteter Fehler ist, das Access-Token als Identitätsnachweis zu missbrauchen; für Login-Zwecke ist ausschließlich das validierte ID-Token gedacht. In der Praxis nimmt einem ein Identity-Provider wie Auth0, Keycloak oder Supabase Auth die fehleranfällige Implementierung dieser Flows weitgehend ab.

Vorteile & Nutzen

  • Keine Passwort-Verwaltung für User - höhere Conversion
  • Sicherer als eigene Passwort-Systeme
  • Granulare Berechtigungen - nur nötige Daten teilen
  • Vertrauenswürdige Identitätsprüfung durch etablierte Provider

Verwandte Begriffe

Möchten Sie OAuth 2.0 in Ihrem Projekt einsetzen?

Unser Expertenteam berät Sie gerne, welche Technologien und Ansätze für Ihr konkretes Projekt am besten geeignet sind.