Inhaltsverzeichnis:
Viele Luxusautos haben einen Parkservice. Es ist ein spezieller Schlüssel, den Sie dem Parkwächter geben. Im Gegensatz zu Ihrem normalen Schlüssel kann das Auto nur eine kurze Strecke gefahren werden, während der Zugang zum Kofferraum und zum Bordhandy blockiert wird. Ungeachtet der Einschränkungen, die der Parkservice-Schlüssel auferlegt, ist die Idee sehr clever. Sie gewähren jemandem mit einem speziellen Schlüssel eingeschränkten Zugang zu Ihrem Auto, während Sie mit einem anderen Schlüssel alles andere entsperren. - Der offizielle Leitfaden zu OAuth 1.0
So haben die Community-basierten Spezifikationsrichtlinien OAuth bereits im Jahr 2007 erklärt. Und obwohl OAuth 2.0 ein völlig neues Protokoll ist, gilt dieselbe Beschreibung - OAuth bleibt eine Möglichkeit für Benutzer, Drittanbieter-Zugriff (und eingeschränkten Zugriff) zu gewähren Ressourcen, ohne ihre Passwörter zu teilen.
Wenn Sie regelmäßig im Internet surfen, ist die Wahrscheinlichkeit hoch, dass Sie auf eine Website gestoßen sind, die OAuth verwendet. Immerhin verwenden die weltweit größten Websites wie Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote und Vimeo diesen Authentifizierungsstandard. Lesen Sie weiter, um mehr über diesen Standard zu erfahren, und warum die nächste Generation, OAuth 2.0, noch relativ experimentell eingesetzt wird.
Was ist OAuth 2.0?
Zunächst müssen Sie wissen, was OAuth als Protokoll bewirkt: Es ermöglicht die Autorisierung der Anwendungsprogrammierschnittstelle zwischen zwei Web- oder Desktop-Apps. Infolgedessen können Websites geschützte Ressourcen mit anderen Websites und Diensten gemeinsam nutzen.
Wenn Sie beispielsweise Scramble mit Freunden auf Ihrem iPad spielen, können Sie Ihre Facebook-Anmeldeinformationen eingeben, damit das Spiel in Ihrer Freundesliste nachsehen kann, welche von ihnen das Spiel spielen - und andere zur Teilnahme einladen. Oder Sie können sich mit Freunden auf Google+ verbinden, basierend darauf, wer Sie auf Twitter verfolgt. Diese Art von Anwendungen ist praktisch für Benutzer, erfordert jedoch, einer Site oder einem Programm Zugriff auf Informationen über Sie auf einer anderen Site zu gewähren.
OAuth 2.0 funktioniert ähnlich wie die erste Inkarnation von OAuth, ist jedoch ein völlig neuer Standard. Dies bedeutet, dass es nicht abwärtskompatibel mit OAuth 1.0 ist. Version 2.0 hat viele Probleme mit dem ursprünglichen OAuth behoben und Verbesserungen vorgenommen.
Während im Grunde die Architektur der ersten Version beibehalten wurde, wurde 2.0 verbessert an:
- Authentifizierung und Signaturen. OAuth 2.0 hat es für jemanden auf der Clientseite einfacher gemacht, das Protokoll zu implementieren.
- Benutzererfahrung und alternative Möglichkeiten zur Ausgabe von Tokens
- Leistung, insbesondere bei größeren Websites und Diensten
Die Vorteile von OAuth 2.0
Einer der besten Gründe für die Verwendung von OAuth ist, dass das Teilen so viel einfacher ist. Wir sind es bereits gewohnt, Fotos auf Instagram hochzuladen und sie automatisch auf Twitter und Facebook veröffentlichen zu lassen. Tatsächlich ist es diese Art der Benutzerfreundlichkeit und der Frequenzweiche, die Social Media weiterhin so attraktiv macht.
Aber das ist nicht alles. Für Endbenutzer bedeutet OAuth, dass Sie kein weiteres Profil erstellen müssen. Wenn Sie beispielsweise einen Kommentar zu einem Artikel hinterlassen möchten, können Sie dazu Ihre Facebook- oder Twitter-Anmeldeinformationen verwenden, anstatt sich auf einer bestimmten Website für ein Konto anmelden zu müssen. Dies ist ideal für Websites, auf denen Sie normalerweise nicht aktiv sind oder denen Sie möglicherweise nicht vertrauen. Dies kann den Websites auch zugute kommen, indem sichergestellt wird, dass die Benutzer eine Identität auf Facebook haben, was die Wahrscheinlichkeit von Spam-Kommentaren verringert.
OAuth bedeutet auch, dass Sie sich weniger Passwörter merken müssen. Es ist eine bewährte Methode, unterschiedliche Kennwörter für unterschiedliche Website-Services zu verwenden. Anstatt sich ein anderes Passwort für zu merken, müssen Sie nur Ihr Facebook-Passwort verwenden, um auf den Dienst zuzugreifen. Ihr Passwort wird übrigens nicht angezeigt.
Sie können auch den Zugriff auf Ressourcen über Ihre OAuth einschränken. Wenn Sie beispielsweise ein Spiel auf Facebook spielen, können Sie festlegen, ob das Spiel in Ihrem Namen auf Ihrer Pinnwand veröffentlicht werden soll oder nicht.
Für den Entwickler bietet OAuth 2.0 einen bereits entwickelten Code für Authentifizierungen, die Anzeige sozialer Interaktionen und die Anzeige von Benutzerprofilen. Dies bedeutet weniger Fehler, mit denen sich Entwickler auseinandersetzen müssen, und ein geringeres Risiko, da die API bereits getestet und getestet wurde. Schließlich profitieren Sie auch davon, dass weniger Daten auf Ihren eigenen Servern gespeichert werden.
Wie OAuth 2.0 wurde
Es liegt auf der Hand, dass OAuth eine Antwort auf die Forderung nach sicherer Datenverarbeitung und einfacher Verwendung für verschiedene Webdienste ist. OAuth 2.0 entstand dagegen aus der Notwendigkeit, OAuth weniger komplex zu machen. Aber die ganze Idee für beide kam tatsächlich von OpenID.
OpenID ist ein Dienst, mit dem Benutzer sich bei verschiedenen Diensten anmelden konnten, indem sie Anmeldeinformationen von einer anderen Website verwendeten. OpenID war jedoch sehr begrenzt, sodass eine Gruppe von Personen, die an verschiedenen Autorisierungsprotokollen für ihre eigenen Sites arbeiteten, zusammenkam. Die ersten OAuth-Implementierungen wurden 2007 durchgeführt, und die erste Überarbeitung erfolgte zwei Jahre später.
OAuth 2.0 kam 2010 auf die Bühne. Ziel war es, den Fokus auf die Einfachheit von Client und Entwickler zu legen, die Skalierbarkeit zu verbessern und gleichzeitig das Benutzererlebnis zu verbessern.
Zukünftige Herausforderungen?
Obwohl Google, Klout und andere große Namen OAuth 2.0 implementieren, könnte dieses Protokoll noch einen steinigen Weg voraus sein. Es gibt Kritikpunkte innerhalb der OAuth 2.0-Community, einschließlich Bedenken hinsichtlich der Sicherheit des Protokolls (viele glauben, dass es weniger sicher ist als OAuth 1.0).
Laut Hammer funktioniert OAuth 2.0, wenn es von einem kompetenten Programmierer verwendet wird, der sich mit Web-Sicherheit auskennt. Leider passt nur eine kleine Minderheit von Entwicklern zu dieser Rechnung.
Darüber hinaus können OAuth 2.0-Codes nicht wiederverwendet werden. Beispielsweise könnten von Facebook verwendete OAuth 2.0-Protokolle von anderen Websites nicht ohne Weiteres verwendet werden. Darüber hinaus ist das neue Protokoll wesentlich komplexer als das Original.
Der wahre Kicker für viele Leute ist jedoch, dass OAuth 2.0 offenbar keinen wirklichen Vorteil oder keine Verbesserung gegenüber 1.0 bietet. Hammer schreibt, dass es keinen Grund gibt, auf 2.0 zu aktualisieren, wenn Sie 1.0 erfolgreich implementieren.
OAuth 2.0 ist jedoch noch sehr lebendig. Wenn es die angesprochenen Kritikpunkte und Probleme angeht, könnte es dennoch einen Platz als sehr mächtiges Protokoll finden. Zum Zeitpunkt des Schreibens ist Version 1.0 jedoch immer noch die offizielle, stabile und getestete Version von OAuth. Für Entwickler, die mit großen Namen in der Online-Welt zusammenarbeiten möchten, kann die sichere Implementierung dieses Protokolls jedoch in nicht allzu ferner Zukunft zu einer Schlüsselkompetenz werden.