Client Credential Grant von OAuth

Wer schon einmal eine Social Media App geöffnet hat, kennt unbewusst den Client Credential Grant. Man öffnet die App, wartet vielleicht ein paar Sekunden und schon sieht man die Neuigkeiten seiner Freunde oder personalisierte, vorgeschlagene Inhalte. Doch diese Daten stammen nicht von der App selbst. Im Hintergrund wurde die API des Social Media Servers angefragt, der den personalisierten News Feed erstellt und weitergibt.

Kann nun jeder über die API einen persönlichen News Feed erfragen? Theoretisch ja; praktisch verhindert dies der Client Credential Grant. Schließlich geht es in den meisten Fällen um schützenswerte und personenbezogene Daten, die nicht jedermann zu Gesicht bekommen soll.
Folglich muss sich die Social Media App bei seiner Anfrage zuerst authentifizieren und autorisieren. Genau dort setzt der Industriestandard für Autorisierung von OAuth an.

Wichtig:
Authentifizierung ist die Prüfung der Identität. Autorisierung ist die Prüfung der Zugriffsberechtigung.

Was ist der Client Credential Grant von OAuth?

OAuth 2.0 ist ein Protokoll zur standardisierten API-Autorisierung. Hierbei wurden mehrere Genemigungsprozesse definiert, um unterschiedliche Anwendungsfälle abdecken zu können. Der Client Credential Grant ist einer davon. Dieser ist auf Machine-to-Machine Kommunikation wie Backend-Anwendungen, automatisierte Prozesse oder Microservices spezialisiert.

Damit der Client Credential Grant funktioniert, muss der Ressourceneigentümer – in unserem Fall der Social Media Server – zuerst den Zugriff auf die Social Media Daten gewähren. Dafür wird ein Scope definiert, der die genauen Gründe des Zugriffs und auch die Menge an freigegebenen Ressourcen spezifiziert.

Ablauf des Client Credential Grant

Das Autorisierungsprotokoll des Client Credential Grants nutzt Zugriffstoken anstelle von Anmeldeinformationen. Diese Token bestimmen, auf welche Ressourcen eine Anwendung zugreifen darf.

  1. Die Social Media App, in der ein User eingeloggt ist, sendet seine Credentials an einen Autorisierungsserver, bei dem der Scope der Social Media Plattform hinterlegt ist.
  2. Der Autorisierungsserver validiert die Credentials und überprüft den Scope.
  3. Stimmen die Credentials mit den im Scope definierten Bedingungen überein, gibt der Autorisierungsserver der Social Media App einen Zugriffstoken zurück.
  4. Die App kann dann mit dem Zugriffstoken die gewünschte Ressource wie den personalisierten News Feed von der API des Social Media Servers anfordern.
  5. Die API des Servers, auf der die Ressource gespeichert ist, antwortet bei gültigem Token mit den angefragten Daten, dem News Feed.

Vorteile des Client Credential Grants

Anstelle einer sofortigen Kommunikation zwischen Client und Ressourcenserver, die die Übertragung von Anmeldedaten des Users verlangt, wird ein Autorisierungsserver vorangestellt. Bei diesem kann sich der Client ohne eine Übertragung der Userdaten selbst authentifizieren und für die angefragte Ressource autorisieren lassen.
Somit werden weniger sensible Daten zur Authentifizierung benötigt. Zusätzlich werden durch den definierten Scope nur so wenige Informationen wie nötig freigegeben. Damit erhöht sich die Sicherheit der Zugriffsverwaltung und erspart die Notwendigkeit einer gemeinsamen Nutzung von Benutzeranmeldeinformationen, die ohne die Authentifizierung über einen Autorisierungsserver notwendig wäre.

Ähnliche Beiträge

  • Registrierung

    Um ein neues Konto zu erstellen muss sich der Nutzer registrieren. Dafür müssen folgende Informationen angegeben werden: Beim Erstellen des Passworts erhält der Nutzer Hinweise, um die Sicherheit des Kontos zu gewährleisten. Alle Felder müssen vollständig ausgefüllt werden, da der Registrierungsbutton ansonsten deaktiviert bleibt und die Meldung „DATA INCOMPLETE“ anzeigt. Das Frontend überprüft die Eingaben…

  • BPMN Diagramme

    Was sind BPMN Diagramme? Das Business Process Model and Notation, kurz BPMN genannt .Es ist eine weit verbreitete und standardisierte Methode, um Geschäftsprozesse grafisch darzustellen. Besonders im E-Commerce ist BPMN eine großartige Möglichkeit, um komplexe Abläufe klar und übersichtlich darzustellen. Es ist wirklich erstaunlich, wie es ermöglicht, Prozesse zu dokumentieren, die verschiedene Akteure, Systeme und…

  • Backend mit AWS

    In der modernen Softwareentwicklung sind skalierbare und effiziente Backend-Lösungen enorm wichtig. Amazon Web Services, kurz AWS, ist eine umfassende und weit verbreitete Cloud-Plattform, die eine Menge Infrastruktur- und Plattformdienste anbietet. Das Backend unserer Projekte arbeitet deshalb vollständig mit den beiden AWS-Diensten AWS Lambda und der No-SQL-Datenbank Dynamo DB. Was ist AWS Lamda? AWS Lambda ist…

  • Angriffsvektoren im E-commerce

    Crowdstrike – Jeder hat von dem fehlerhaften Update gehört, das weltweit den IT-Betrieb lahmlegte.WannaCry – Der 2017 durchgeführte und bis dahin größte Ransomware-Angriff hat über 200.000 Windows-Rechner in über 150 Ländern verschlüsselt. Der Grund? Ein noch nicht eingespieltes Sicherheitsupdate.Der erste Tod der Cyberkriminalität – Die Verschlüsselung der Server eines Krankenhauses während der COVID-19-Pandemie führte zu…

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert