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: * Resource Owner (Benutzer): Der Inhaber der geschützten Ressource, auf die die Drittanbieteranwendung zugreifen möchte. * Client (Drittanbieteranwendung): Die Anwendung, die Zugriff auf die geschützte Ressource des Benutzers erhalten möchte. * Authorization Server (Autorisierungsserver): Der Dienst, der die Authentifizierung des Benutzers übernimmt und Zugriffstoken für die Drittanbieteranwendung ausstellt. * Resource Server (Ressourcenserver): Der Dienst, der die eigentlichen geschützten Ressourcen hostet und den Zugriff auf diese Ressourcen basierend auf den bereitgestellten Zugriffstoken kontrolliert. Der OAuth-Fluss beinhaltet typischerweise die folgenden Schritte: * Der Client leitet den Benutzer zur Anmeldeseite des Autorisierungsservers um, wo der Benutzer seine Anmeldeinformationen eingibt. * Nach erfolgreicher Anmeldung gibt der Autorisierungsserver ein Autorisierungscode an den Client zurück. * Der Client tauscht den Autorisierungscode gegen ein Zugriffstoken und optional ein Aktualisierungstoken beim Autorisierungsserver ein. * Der Client kann dann das Zugriffstoken verwenden, um geschützte Ressourcen beim Ressourcenserver im Namen des Benutzers aufzurufen. 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.