OAuth ist ein Autorisierungsprotokoll, das es einer Anwendung ermöglicht, auf Ressourcen eines anderen Dienstes zuzugreifen, ohne ein Passwort weiterzugeben. Es steckt hinter gängigen Funktionen wie „Mit Google anmelden“ oder „Mit Facebook anmelden“. Bei digitalen Produkten verbessert OAuth das Erlebnis, steigert die Konvertierung und reduziert Sicherheitsrisiken. Dieser Leitfaden erklärt, was OAuth ist, wie es funktioniert, welche Abläufe es gibt, wann man es verwendet und welche Fehler man vermeiden sollte.
Ziel ist es, den Technik- und Produktteams eine klare Erklärung zu liefern, wobei der Schwerpunkt auf einer sicheren und geschäftsorientierten Implementierung liegt.
Was ist OAuth
OAuth (Open Authorization) ist ein offener Standard, der es Ihnen ermöglicht, den Zugriff zu delegieren. Anstatt dass der Benutzer sein Passwort für eine Drittanbieter-App eingibt, autorisiert er den Zugriff direkt beim Anbieter (Google, Apple, GitHub). Die App erhält einen Token mit eingeschränkten Berechtigungen.
Dies schützt Daten, verbessert die Benutzererfahrung und gibt Ihnen die Kontrolle darüber, worauf die App zugreifen kann.
Unterschied zwischen Authentifizierung und Autorisierung
Viele Leute verwirren:
- Authentifizierung: Überprüfen Sie, wer der Benutzer ist.
- Autorisierung: Definieren Sie, worauf er zugreifen kann.
OAuth ist ein Autorisierungsprotokoll. Zur Authentifizierung verwenden Sie normalerweise OpenID Connect, das auf OAuth aufsetzt.
So funktioniert der OAuth-Flow
In vereinfachter Form:
- Der Benutzer klickt auf „Anmelden mit“.
- Die App leitet zum Anbieter weiter.
- Der Benutzer autorisiert.
- Der Anbieter gibt einen Token zurück.
- Die App nutzt den Token, um auf erlaubte Ressourcen zuzugreifen.
Dieser Vorgang verhindert die Weitergabe von Passwörtern.
Haupt-OAuth-Flows
Autorisierungscode
Sicherer. Wird in Web- und mobilen Apps mit Backend verwendet.
Implizit
Älter, weniger sicher. Heute unbenutzt.
Kundenanmeldeinformationen
Wird für die Kommunikation zwischen Servern verwendet.
Gerätecode
Wird auf Geräten ohne vollwertigen Browser verwendet.
Die Wahl hängt von der Art der Anwendung ab.
Token und Bereiche
OAuth verwendet Zugriffstoken. Jedes Token verfügt über Bereiche, die Berechtigungen definieren. Beispiel: Zugriff auf E-Mail, Profil oder Kontaktliste. Die App sollte nur nach dem Notwendigen fragen, um eine Ablehnung durch den Benutzer zu vermeiden.
Token können ablaufen und durch Aktualisierungstoken erneuert werden, wodurch die Sicherheit gewährleistet ist, ohne dass eine ständige Anmeldung erforderlich ist.
OAuth und Social Login
Social Login erhöht die Konversion, da es Reibungsverluste reduziert. Anstatt ein Passwort zu erstellen, nutzt der Benutzer einen vertrauenswürdigen Anbieter. Dies verbessert die UX und reduziert vergessene Passwörter.
Andererseits ist die App anbieterabhängig. Daher wird empfohlen, alternativ eine herkömmliche Anmeldeoption zu verwenden.
Risiken und Schwachstellen
Bei schlechter Implementierung kann OAuth Risiken mit sich bringen:
- Böswillige Weiterleitungen.
- Durchgesickerte Token.
- Übermäßiger Umfang.
- Fehlende staatliche Validierung.
Gute Praktiken reduzieren diese Risiken.
Gute Sicherheitspraktiken
- Verwenden Sie den Autorisierungscode mit PKCE in mobilen Apps.
- Überprüfen Sie immer den Status, um CSRF zu vermeiden.
- Verwenden Sie in allen Phasen HTTPS.
- Bewahren Sie Token sicher auf.
- Bestellen Sie nur notwendige Umfänge.
OAuth in mobilen Apps
In mobilen Apps empfiehlt sich die Verwendung von PKCE, das vor dem Abfangen von Code schützt. Zur Erhöhung der Sicherheit muss bei der Anmeldung der Systembrowser geöffnet werden.
OAuth in APIs
APIs verwenden OAuth, um den Zugriff zu steuern. Dies ermöglicht Token mit begrenztem Umfang und schnellem Widerruf. Eine gut geschützte API verbessert die Zuverlässigkeit und Skalierbarkeit.
Wann sollte OAuth verwendet werden?
Verwenden Sie OAuth, wenn:
- Sie möchten sich über soziale Netzwerke anmelden.
- Sie müssen auf Daten von anderen Diensten zugreifen.
- Möchten Sie einen sicheren Zugriff delegieren?
Verwenden Sie OAuth nicht, wenn das System vollständig intern und kontrolliert ist.
Kurze Checkliste
- Wählen Sie den richtigen Durchfluss.
- Implementieren Sie PKCE.
- Definieren Sie Mindestumfänge.
- Status validieren.
- Verwenden Sie HTTPS.
- Überwachen Sie Token.
Fazit
OAuth ist ein wesentlicher Standard für Social Login und den sicheren Zugriff auf Daten Dritter. Bei guter Umsetzung verbessert es das Benutzererlebnis und erhöht die Sicherheit. Der Schlüssel liegt darin, den richtigen Ablauf zu wählen, Bereiche einzuschränken und Token zu schützen. Das sorgt für Vertrauen und reduziert langfristig Risiken.
##FAQs
1) OAuth und Login?
Nein. Er ist autorisiert. Für die Anmeldung verwenden Sie OpenID Connect.
2) Ist OAuth sicher?
Ja, bei korrekter Umsetzung.
3) Benötige ich OAuth in meiner App?
Nur wenn Sie Social Login nutzen oder auf Daten Dritter zugreifen.
4) Ist PKCE obligatorisch?
Ja, in mobilen Apps und sehr zu empfehlen in Web-Apps.
5) Ersetzt OAuth das Passwort?
Nein. Es kann die Passwortnutzung reduzieren, beseitigt sie jedoch nicht vollständig.
Lesen Sie auch
- OAuth: Was es ist und Anwendungsfälle mit echten Fällen
- OAuth: Was es ist, Anwendungsfälle und eine Kurzanleitung, um es sofort zu verstehen
- Rest API What E
- Rest API Was ist – Schritt für Schritt mit Beispielen
- Social Login in Anwendungen: Implementierung und Best Practices
- Social Login in Anwendungen: Planung mit Beispielen, was funktioniert und was schief geht
