Heim >Web-Frontend >js-Tutorial >oAuth-Authentifizierung und Autorisierung

oAuth-Authentifizierung und Autorisierung

巴扎黑
巴扎黑Original
2017-07-20 14:49:491916Durchsuche

1. Was ist das OAuth-Protokoll

OAuth (offene Autorisierung) ist ein offener Standard.

Ermöglicht Websites Dritter den Zugriff auf verschiedene Informationen, die von Benutzern beim Dienstanbieter mit der Genehmigung des Benutzers gespeichert werden.

Diese Autorisierung erfordert nicht, dass der Benutzer einen Benutzernamen und ein Passwort für die Website eines Drittanbieters angibt.

OAuth ermöglicht Benutzern die Bereitstellung eines Tokens für eine Website eines Drittanbieters. Ein Token entspricht einer bestimmten Website eines Drittanbieters, und das Token kann nur innerhalb einer bestimmten Zeit auf bestimmte Ressourcen zugreifen.

2. Das Prinzip und der Autorisierungsprozess von OAuth

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

Dienstanbieter: Benutzernutzung Der Dienstanbieter dient im Allgemeinen zum Speichern von Nachrichten, Fotos, Videos, Kontakten, Dateien usw. (z. B. Twitter, Sina Microwave usw.).

Benutzer: Benutzer des Dienstanbieters

Dritter: In der Regel eine Website, die auf die beim Dienstanbieter gespeicherten Benutzerinformationen zugreifen möchte.

Zum Beispiel eine Website, die Fotodruckdienste anbietet, auf der Benutzer ihre beim Dienstanbieter gespeicherten Online-Fotoalben drucken möchten.

Vor dem Zertifizierungsprozess muss der Dritte beim Dienstanbieter die eindeutige Kennung des Drittanbieterdienstes beantragen.

Der OAuth-Authentifizierungs- und Autorisierungsprozess läuft wie folgt ab:

1. Der Benutzer besucht eine Website eines Drittanbieters und möchte bestimmte vom Benutzer beim Dienstanbieter gespeicherte Ressourcen bedienen.

2. Die Website des Drittanbieters fordert ein temporäres Token vom Dienstanbieter an.

3. Nachdem der Dienstanbieter die Identität der Drittanbieter-Website überprüft hat, gewährt er ein temporäres Token.

4. Nachdem die Drittanbieter-Website das temporäre Token erhalten hat, leitet sie den Benutzer zur Autorisierungsseite des Dienstanbieters weiter, um die Benutzerautorisierung anzufordern. Dabei werden das temporäre Token und die Rücksendeadresse des Drittanbieters angefordert. Die Website der Partei wird an den Dienstanbieter gesendet.

5. Der Benutzer gibt seinen Benutzernamen und sein Passwort auf der Autorisierungsseite des Dienstanbieters ein, um der Website des Drittanbieters den Zugriff auf die entsprechenden Ressourcen zu autorisieren.

6. Nach erfolgreicher Autorisierung leitet der Dienstanbieter den Benutzer zur Absenderadresse der Drittanbieter-Website weiter.

7. Die Drittanbieter-Website erhält das Zugriffstoken vom Dienstanbieter basierend auf dem temporären Token.

8. Der Dienstanbieter gewährt Drittanbieter-Website-Zugriffstoken auf der Grundlage des Tokens und der Benutzerautorisierung.

9. Die Website des Drittanbieters nutzt das erhaltene Zugriffstoken, um auf die entsprechenden beim Dienstanbieter gespeicherten Benutzerressourcen zuzugreifen.

3. Welche Websites unterstützen derzeit OAuth?

t.sina.com.cn

t.qq.com

t.sohu.com

t.163.com

www.douban.com

www.twitter.com

www.facebook.com

Google Buzz

springboot kapselt das oauth2-Protokoll . Es gibt zwei häufig verwendete Schnittstellen:

Schnittstelle:

/oauth/token?Parameter: (grant_type ist fest codiert, andere zwei Anpassungen)

    grant_type=password

  • username=development@cybergate-tech.com
  • password=oQd-BfT-cer-7LP
  • Vollständiges Beispiel:

http://localhost:9000/oauth/token?grant_type=password&username=development@cybergate-tech.com&password=oQd-BfT-cer-7LPBeispiel für Rückgabeergebnis:

2 Token
{
    "access_token": "beeaa54e-8391-4de0-8ba6-ce145b3fb812",
    "token_type": "bearer",
    "refresh_token": "8129769a-d804-46c7-856a-3bacd409b650",
    "expires_in": 3599,
    "scope": "read write"
}

Schnittstelle:

http://localhost:9000/oauth/token?Parameter: (refresh_token wird basierend auf 1 bestimmt. Andere Parameter sind fest codiert)

    client_id=dashboard
  • client_secret=secret
  • grant_type=refresh_token

  • refresh_token=43dca105-627e -4f50-86e8-0c22c2f3abe9
  • Beispiel:

http://localhost:9000/oauth/token?client_id=dashboard&client_secret=secret&grant_type=refresh_token&refresh_token=43dca105-627e-4f50-86e8-0c22c2f3abe9Ergebnis zurückgeben

Das obige ist der detaillierte Inhalt vonoAuth-Authentifizierung und Autorisierung. 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