Heim  >  Artikel  >  Was ist OAuth 2.0?

Was ist OAuth 2.0?

hzc
hzcOriginal
2020-06-29 14:36:172794Durchsuche

OAuth2.0 ist eine Fortsetzung des OAuth-Protokolls, ist jedoch nicht vorwärtskompatibel mit OAuth 1.0. OAuth2.0 konzentriert sich auf Einfachheit für Client-Entwickler, entweder durch die Organisation zwischen Ressourceneigentümern und HTTP-Dienstanbietern. Genehmigte Interaktionen wirken sich aus im Namen des Benutzers oder erlauben Sie Drittanwendungen, im Namen des Benutzers Zugriff zu erhalten.

Was ist OAuth 2.0?

OAuth2.0 ist eine Fortsetzung des OAuth-Protokolls, ist jedoch nicht vorwärtskompatibel mit OAuth 1.0 (d. h. OAuth1.0 wurde vollständig abgeschafft). OAuth 2.0 konzentriert sich auf die Einfachheit für Client-Entwickler. Entweder durch die Strukturierung genehmigter Interaktionen zwischen dem Ressourceneigentümer und dem HTTP-Anbieter im Namen des Benutzers oder indem Drittanbieteranwendungen im Namen des Benutzers Zugriff erhalten. Es bietet außerdem spezielle Zertifizierungsprozesse für Webanwendungen, Desktop-Anwendungen sowie Mobiltelefone und Wohnzimmergeräte. Im Oktober 2012 wurde das OAuth 2.0-Protokoll offiziell als RFC 6749 veröffentlicht.

Vorwort:

OAuth 1.0 ist bereits in der IETF (International Internet Engineering Task Force) mit der Nummer RFC5849

Dies markiert auch, dass OAuth offiziell ist wird zum Internet-Standardprotokoll.

OAuth 2.0 wurde bereits diskutiert und entworfen. OAuth2.0 dürfte die nächste Generation des Standards „Benutzerauthentifizierung und -autorisierung“ sein. Die meisten offenen Plattformen wie Baidu Open Platform und Tencent Open Platform verwenden mittlerweile das OAuth 2.0-Protokoll als Unterstützung.

OAuth (Open Authorization) ist ein offener Standard, der es Benutzern ermöglicht, Anwendungen von Drittanbietern Zugriff auf die privaten Ressourcen des Benutzers (z. B. Fotos, Videos, Kontaktlisten) zu gewähren, die auf einer Website gespeichert sind, ohne dass der Benutzer Namen und Angaben machen muss Das Passwort wird an Drittanwendungen weitergegeben.

OAuth

ermöglicht es Benutzern, anstelle eines Benutzernamens und eines Passworts ein Token bereitzustellen, um auf ihre bei einem bestimmten Dienstanbieter gespeicherten Daten zuzugreifen. Jeder Token autorisiert eine bestimmte Website (z. B. eine Website zur Videobearbeitung), innerhalb eines bestimmten Zeitraums (z. B. innerhalb der nächsten 2 Stunden) auf eine bestimmte Ressource (z. B. nur die Videos in einem bestimmten Album) zuzugreifen. Auf diese Weise ermöglicht OAuth Benutzern, Websites Dritter den Zugriff auf ihre bei einem anderen Dienstanbieter gespeicherten Informationen zu gestatten, ohne ihre Zugriffsberechtigungen oder den gesamten Inhalt ihrer Daten weiterzugeben.

OAuth ist eine Ergänzung zu OpenID, aber ein völlig anderer Dienst.

OAuth 2.0

ist die nächste Version des OAuth-Protokolls, aber nicht abwärtskompatibel mit OAuth 1.0. OAuth 2.0 konzentriert sich auf die Einfachheit für Client-Entwickler und bietet gleichzeitig spezielle Authentifizierungsflüsse für Webanwendungen, Desktop-Anwendungen sowie Mobil- und Wohnzimmergeräte. Im Oktober 2012 wurde das OAuth 2.0-Protokoll offiziell als RFC 6749 veröffentlicht [1].

Facebooks neue Graph-API unterstützt nur OAuth 2.0. Google hat im März 2011 auch die Unterstützung der Google API für OAuth 2.0 angekündigt.

Authentifizierungs- und Autorisierungsprozess:

Zu den drei am Authentifizierungs- und Autorisierungsprozess beteiligten Parteien gehören:

1 zum Speichern geschützter Ressourcen wie Fotos, Videos und Kontaktlisten.

2. Benutzer, der Eigentümer geschützter Ressourcen, die beim Dienstanbieter gespeichert sind.

3. Client, eine Drittanbieteranwendung, die auf die Ressourcen des Dienstanbieters zugreifen möchte, normalerweise eine Website, beispielsweise eine Website, die Fotodruckdienste anbietet. Vor dem Authentifizierungsprozess muss der Kunde beim Dienstanbieter eine Kundenidentität beantragen.

Der Prozess der Verwendung von OAuth zur Authentifizierung und Autorisierung ist wie folgt:

Der Benutzer möchte auf dem Dienstanbieter gespeicherte Ressourcen bedienen.

Der Benutzer meldet sich beim Client an und fordert vom Dienstanbieter ein temporäres Token an.

Nachdem der Dienstanbieter die Identität des Kunden überprüft hat, gewährt er ein temporäres Token.

Nachdem der Client das temporäre Token erhalten hat, leitet er den Benutzer zur Autorisierungsseite des Dienstanbieters weiter, um eine Benutzerautorisierung anzufordern. Dabei werden der temporäre Token und die Callback-Verbindung des Clients an den Dienstanbieter gesendet.

Der Benutzer gibt seinen Benutzernamen und sein Passwort auf der Webseite des Dienstanbieters ein und autorisiert dann den Client, auf die angeforderte Ressource zuzugreifen.

Nach erfolgreicher Autorisierung leitet der Dienstanbieter den Benutzer zurück zur Webseite des Kunden.

Der Client erhält das Zugriffstoken vom Dienstanbieter basierend auf dem temporären Token.

Der Dienstanbieter gewährt dem Kunden ein Zugriffstoken basierend auf dem temporären Token und der Autorisierung des Benutzers.

Der Client verwendet das erhaltene Zugriffstoken, um auf geschützte Ressourcen zuzugreifen, die beim Dienstanbieter gespeichert sind.

Ein kurzer historischer Rückblick

OAuth 1.0 wurde Ende Dezember 2007 veröffentlicht und entwickelte sich schnell zum Industriestandard.

Im Juni 2008 wurde OAuth 1.0 Revision A veröffentlicht. Hierbei handelt es sich um eine leicht modifizierte Version, die hauptsächlich eine Sicherheitslücke behebt.

Im April 2010 wurde OAuth 1.0 schließlich in der IETF unter der Protokollnummer RFC 5849 veröffentlicht.

Der Entwurf von OAuth 2.0 wurde Anfang Mai 2011 bei der IETF veröffentlicht.

OAuth ist ein Sicherheitsprotokoll, das es Benutzern ermöglicht, Dritten Zugriff auf ihre Webressourcen zu gewähren, ohne ihre Passwörter an Anwendungen weiterzugeben, um auf die Webressourcen der Benutzer zuzugreifen, ohne ihre Passwörter an Anwendungen Dritter weiterzugeben.

OAuth 2.0 ist ein brandneues Protokoll und nicht abwärtskompatibel mit früheren Versionen. OAuth 2.0 behält jedoch die gleiche Gesamtarchitektur wie die vorherige Version von OAuth bei.

Dieser Entwurf basiert auf den Bedürfnissen und Zielen von OAuth2.0 und wurde ein Jahr lang diskutiert. Die Teilnehmer der Diskussion kamen von verschiedenen bekannten Unternehmen der Branche, darunter Yahoo!, Facebook, Salesforce und Microsoft , Twitter, Deutsche Telekom, Intuit, Mozilla und Google.

Neue Funktionen von OAuth 2.0:

6 neue Prozesse

User-Agent-Flow – der Client wird im Benutzeragenten ausgeführt (normalerweise wie ein Webbrowser).

Webserver-Ablauf – Der Client ist Teil des Webserverprogramms und wird über eine HTTP-Anfrage aufgerufen. Dies ist eine vereinfachte Version des von OAuth 1.0 bereitgestellten Prozesses.

Gerätefluss – geeignet für den Client, um Vorgänge auf einem eingeschränkten Gerät auszuführen, der Endbenutzer jedoch unabhängig auf den Browser eines anderen Computers oder Geräts zugreift

Benutzername und Passwortfluss – für diesen Prozess Die Verwendung Der Fall ist, dass der Benutzer dem Client die Verarbeitung der Identitätsanmeldeinformationen anvertraut, aber dennoch nicht möchte, dass der Client seinen Benutzernamen und sein Passwort speichert. Dieser Vorgang gilt nur, wenn der Benutzer dem Client ein hohes Maß an Vertrauen entgegenbringt.

Client-Anmeldeinformationen – Der Client verwendet seine Identitätsanmeldeinformationen, um das Zugriffstoken zu erhalten. Dieser Ablauf unterstützt zweibeinige OAuth-Szenarien.

Assertion Flow – Der Client tauscht eine Assertion gegen ein Zugriffstoken aus, z. B. eine SAML-Assertion.

Native Anwendungen können OAuth (Anwendungen, die auf einem Desktop-Betriebssystem oder einem mobilen Gerät ausgeführt werden) unterstützen, indem die oben genannten Prozesse

Anwendungsunterstützung (Anwendungen, die auf einem Desktop oder einem mobilen Gerät ausgeführt werden) implementiert werden unter Verwendung vieler der oben genannten Abläufe.

Trustee-Token

OAuth 2.0 bietet eine Authentifizierungsmethode, die keine Verschlüsselung erfordert. Diese Methode basiert auf der vorhandenen Cookie-Verifizierungsarchitektur Secret, senden Sie es über HTTPS und ersetzen Sie so die Methode der Verschlüsselung und des Sendens über HMAC und Token Secret. Dies ermöglicht die Verwendung von cURL zum Initiieren von API-Aufrufen und anderen einfachen Skripttools, ohne der ursprünglichen Anforderungsmethode und Signatur zu folgen.

Signaturvereinfachung:

Für die Signaturunterstützung ist der Signaturmechanismus stark vereinfacht und erfordert keine spezielle Analyse, Codierung und Sortierung von Parametern. Verwenden Sie ein Geheimnis, um die beiden ursprünglichen Geheimnisse zu ersetzen.

Kurzfristige Token und langfristige Identitätsnachweise

Das ursprüngliche OAuth würde ein Token mit einer sehr langen Gültigkeitsdauer ausgeben (normalerweise ein Jahr oder keine Gültigkeitsbeschränkung). Der Server stellt ein Zugriffstoken mit kurzer Gültigkeitsdauer und ein Aktualisierungstoken mit langer Lebensdauer aus. Dadurch kann der Client ein neues Zugriffstoken erhalten, ohne dass der Benutzer dies erneut tun muss, und außerdem wird die Gültigkeitsdauer des Zugriffstokens begrenzt.

Rollentrennung

OAuth 2.0 wird in zwei Rollen unterteilt:

Der Autorisierungsserver ist für die Einholung der Benutzerautorisierung und die Ausgabe von Token verantwortlich.

Ressource ist für die Bearbeitung von API-Aufrufen verantwortlich.

Das obige ist der detaillierte Inhalt vonWas ist OAuth 2.0?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn