This post is also available in:
In den letzten zehn Jahren hat sich die Anwendungsentwicklung beschleunigt und ist mit Hilfe von standardisierten APIs auf Android, iOS, Windows, Linux und Mac auf ihrem Höhepunkt angelangt. Die Übermittlung von persönlichen Informationen und die tägliche Kommunikation von Daten über Tausende von Anwendungen hinweg ist daher unvermeidlich. Da die gesamte Kommunikation über verschiedene mobile Anwendungsplattformen, Browser und Server erfolgt, muss sie gesichert sein. OAuth ist ein solches Internet-Sicherheitsprotokoll, das dafür bekannt ist, dass es Benutzerdaten speichert und verwaltet, ohne sie zwischen Anwendungen zu teilen.
Beginnen wir mit der Definition.
Was ist OAuth?
OAuth, auch bekannt als Open Authorization, ist ein Internetprotokoll und ein offener Standard für Anwendungen, dem Internetnutzer folgen können, um auf ihre Informationen auf anderen Websites zuzugreifen, ohne die Passwörter weiterzugeben. Große Technologieunternehmen wie Google, Amazon und Facebook nutzen diesen Mechanismus, um Nutzern die Möglichkeit zu geben, ihre Profilinformationen mit Websites oder Anwendungen von Drittanbietern zu teilen.
Es gibt zwei Versionen:
1) OAuth 1.0a 2) OAuth 2.0
Einfach ausgedrückt: Wenn sich ein Nutzer mit seinem Google-Konto bei einer Drittanbieter-App wie Airbnb anmeldet, hält OAuth die Anmeldedaten bereit, damit sich der Nutzer bei der Airbnb-App anmelden und sie im Hintergrund verwalten kann, ohne die Informationen mit der Anwendung zu teilen.
Kurz gesagt, es minimiert das Risiko von Sicherheitsbedrohungen, indem es die Anmeldedaten des Google-Kontos schützt. Darüber hinaus können die Nutzer Anwendungen den Zugriff auf ihre Daten gestatten, ohne sie freigeben zu müssen.
Wie funktioniert OAuth?
OAuth konzentriert sich hauptsächlich auf:
- Der Endbenutzer (Eigentümer der Ressourcen/Informationen) enthält die Daten des Benutzers, auf die die Client-Anwendung zugreifen möchte.
- Client-Anwendung (API): Client-Anwendung: Sie umfasst die Website/Webanwendung, die auf die Informationen zugreifen muss.
- OAuth-Dienstanbieter: Die App oder Website, die über die persönlichen Anmeldeinformationen des Benutzers verfügt. Es unterstützt OAuth, indem es eine API für die Interaktion mit einem Autorisierungs- und Ressourcenserver bietet.
Der Prozess hat verschiedene „Abläufe“ oder „Förderungsarten“.
- Die Client-Anwendung fordert den Zugriff auf die Daten des Benutzers an.
- Der Endbenutzer meldet sich bei dem Dienst an.
- Die Client-Anwendung erhält ein Zugriffstoken. Jetzt haben sie die Erlaubnis des Benutzers, auf die angeforderten Daten zuzugreifen.
- Die Client-Anwendung verwendet das Zugriffstoken für API-Aufrufe, indem sie die Daten vom Ressourcenserver empfängt.
OAuth: Authentifizierung vs. Autorisierung
Authentifizierung: Dies ist der Prozess, bei dem ein Benutzer als die richtige Person für den Zugriff auf die Anwendung bestätigt wird. Es ist auch als „AuthN“ bekannt. Microsoft verwendet beispielsweise das OpenID Connect-Protokoll für die Authentifizierung.
Autorisierung: Ein Prozess, bei dem eine authentifizierte Person zugelassen wird. Es ist auch als „AuthZ“ bekannt. Microsoft verwendet zum Beispiel das OAuth2.0-Protokoll für die Autorisierung.
Unterschiede zwischen OAuth1.0 und OAuth2.0
OAuth1.0 und OAuth2.0 sind zwei verschiedene Versionen von OAuth. Sie können es also je nach Ihren Bedürfnissen und Zielen einsetzen.
OAuth1.0
OAuth1.0 wurde entwickelt, um die Grenzen von OpenID zu überwinden, und wird für die Autorisierung verschiedener Anwendungen oder den manuellen Benutzerzugriff verwendet. Es funktioniert, indem der Anwendung ein Zugriffstoken zur Verfügung gestellt wird, das die Erlaubnis des Benutzers für die Client-Anwendung zum Zugriff auf die Daten darstellt.
OAuth 2.0
Es ist die vollständige Neufassung von OAuth1.0 und ist nun der Standard für die Online-Autorisierung. OAuth gibt der App die Zugriffsberechtigung für die Ressourcen des Benutzers, die von anderen Webanwendungen im Namen des Benutzers gehostet werden.
Außerdem handelt es sich um ein Autorisierungsprotokoll und nicht um ein Authentifizierungsprotokoll, da es in erster Linie dazu dient, den Zugriff auf eine Reihe von Ressourcen/Benutzerdaten zu ermöglichen.
OAuth 1.0 | OAuth 2.0 |
Transportunabhängig Grundlagen der Kryptographie, insbesondere digitale Signaturen. Es ist nicht einfacher, damit zu arbeiten. Nicht sehr flexibel. Es verarbeitet nur Web-Workflows. Grundlegender Workflow für Unterschriften | Transportabhängig Das ist gut für die Integration, aber nicht gut für die Sicherheit. Es ist viel benutzerfreundlicher und einfacher zu verarbeiten, aber schwieriger, es sicher zu bauen. Viel flexibler. Es verarbeitet sowohl Web-Workflows als auch Nicht-Web-Clients. Grundlegender Workflow für Unterschriften |
Wie trägt OAuth2.0 zur API-Sicherheit bei?
OAuth ist ausdrücklich als fortschrittlicher Ansatz für die Gewährung des Zugriffs auf Anwendungen konzipiert. Es verwendet gewährte Token, um erweiterte Sicherheit zu bieten, z. B. Scoping-Funktionen zur Festlegung fein abgestufter Berechtigungen für Anwendungen. Ein weiteres wesentliches Merkmal ist die zeitlich begrenzte Verfügbarkeit der Token, da sie nach Ablauf ihrer Gültigkeit nicht wiederverwendet werden können.
Da OAuth2.0 als Rahmenwerk konzipiert ist, dient es als allgemeine Betriebsvereinbarung und erfüllt mehrere Zwecke, indem es…
- JSON Web Tokens definiert Nutzdaten zur Übermittlung von Daten zwischen Systemen mit eingebauten Verfallsmechanismen und Signaturen zur Validierung.
- OpenID Connect: Es ermöglicht die Standardisierung von Token für den Austausch von Benutzerprofilinformationen.
- Der Gerätetyp Grant: Er erweitert OAuth auf IoT und intelligente Geräte.
Wie hilft OAuth 2.0 bei der API-Zugangsverwaltung?
Das OAuth2.0-Framework hat die Interaktion der Nutzer mit Anwendungen vereinfacht, indem es ihre persönlichen Daten schützt. Darüber hinaus schützt es die Daten des Nutzers und ermöglicht gleichzeitig Anwendungen den Zugriff auf die Daten, ohne dass diese gefährdet werden. Im Hintergrund gewährt die API dem Nutzer Zugang, sobald sie das gültige und zeitlich begrenzte Token von der Anwendung erhält, das mit dem OAuth2.0-Framework generiert wurde.
Wie funktioniert die API-Zugangsverwaltung?
Die Zugangsverwaltungs-API ermöglicht einem Benutzer den Zugang zu Verwaltungsfunktionen der Plattform, einschließlich:
- Einladung & Anmeldung
- Benutzerverwaltung
- Verwaltung der Kunden
- Organisationen und Unternehmensgruppen
- Rollen und Berechtigungen
- Umgebungen
- Berechtigungen
Die API-Zugriffsverwaltung bietet eine konsistente und vorhersehbare Autorisierungsebene für alle Benutzer und Dienste, die unabhängig von Sprache, Framework oder Architektur auf die Dienste zugreifen können.
Vorteile der API-Zugangsverwaltung
- Ermöglicht die Erstellung benutzerdefinierter Bereiche und Ansprüche.
- Ermöglicht die Erstellung eines oder mehrerer benutzerdefinierter Autorisierungsserver. Daher hilft sie bei der Verwaltung des API-Zugriffs für mehrere Client-Anwendungen.
- Übergibt validierte Token anstelle von Anmeldedaten. Die JWT-Tokens enthalten im Allgemeinen die Nutzdaten für den Benutzerkontext.
Zusammenfassend
OAuth deckt eine riesige Sicherheitsfläche ab. Alles, was Sie brauchen, sind validierte App-Eingaben und ein sicheres Toolkit. Auf diese Weise kann die OAuth- oder Token-basierte Sicherheit dazu beitragen, die Berechtigungsprüfung für die gesamte Benutzerbasis zu verbessern.
Wenden Sie sich an ein Expertenteam für kundenspezifische Softwareentwicklungsdienste, um sichere und zuverlässige Anwendungen für jedermann zu erstellen.
Bitte teilen Sie uns Ihre Gedanken im Kommentarbereich mit; wir würden uns freuen, sie zu diskutieren.