OAuth (Open Authorization) ist ein offenes Protokoll, das entwickelt wurde, um Drittanbieteranwendungen (oft als „Clients“ bezeichnet) den zugriffsgesteuerten Zugriff auf geschützte Ressourcen eines Benutzers auf einer anderen Website zu ermöglichen, ohne dass die Drittanbieteranwendung die Anmeldeinformationen des Benutzers kennen oder speichern muss.
Das Hauptziel von OAuth besteht darin, sicherzustellen, dass Benutzerdaten nicht zwischen verschiedenen Diensten und Anwendungen hin- und hergereicht werden müssen, während gleichzeitig die Sicherheit und Datenschutz gewährleistet werden. Es wird häufig verwendet, um die „Single Sign-On“ (SSO)-Funktionalität zu unterstützen, bei der ein Benutzer sich einmal anmeldet und dann auf mehreren Diensten ohne erneute Eingabe von Anmeldeinformationen zugreifen kann.
OAuth arbeitet mit Zugriffstoken, die von der Autorisierungsserverkomponente ausgestellt werden. Hier sind die Hauptkomponenten von OAuth:
Der OAuth-Fluss beinhaltet typischerweise die folgenden Schritte:
OAuth wird in einer Vielzahl von Anwendungen und Szenarien eingesetzt, von sozialen Medien über Cloud-Dienste bis hin zu APIs von Drittanbietern. Es gibt verschiedene Versionen von OAuth, wobei OAuth 2.0 die am weitesten verbreitete Version ist und oft in Kombination mit OpenID Connect für Identitätsmanagement verwendet wird.