So verwenden Sie die OAuth-Authentifizierung in PHP

PHPz
Freigeben: 2023-06-22 08:50:02
Original
928 Leute haben es durchsucht

Das OAuth-Authentifizierungsprotokoll ist in den letzten Jahren immer beliebter geworden, da immer mehr Anwendungen die Anmeldung von Drittanbietern unterstützen. Durch die Implementierung von OAuth können Anwendungen von Drittanbietern eine Benutzerautorisierung von anderen Anwendungen erhalten, ohne das Kennwort des Benutzers zu kennen. PHP unterstützt als weit verbreitete serverseitige Programmiersprache auch die OAuth-Authentifizierung. In diesem Artikel erfahren Sie, wie Sie die OAuth-Bibliothek von PHP zur Implementierung der OAuth-Authentifizierung verwenden.

Was ist OAuth?

OAuth ist ein Autorisierungsstandardprotokoll. Es handelt sich um ein offenes und sicheres Protokoll, das es einer Anwendung ermöglicht, mit Benutzerautorisierung auf die API oder Daten einer anderen Anwendung zuzugreifen, ohne das Passwort preiszugeben. Es wird hauptsächlich verwendet, um dem Benutzer zu ermöglichen, einer Drittanbieteranwendung den Zugriff auf die Benutzerdaten einer anderen Anwendung zu ermöglichen, ohne der Drittanbieteranwendung den Benutzernamen und das Kennwort mitzuteilen.

Grundlegender Prozess der OAuth-Authentifizierung:

Der OAuth 2.0-Autorisierungsprozess ist ein Prozess, der auf autorisiertem Zugriff basiert. Der grundlegende Prozess ist wie folgt:

  1. Der Benutzer fordert Zugriff auf Ressourcen von der Clientanwendung an.
  2. Die Clientanwendung leitet den Benutzer zum Authentifizierungsserver weiter, um ihm die erforderlichen Benutzerauthentifizierungsinformationen bereitzustellen.
  3. Der Authentifizierungsserver fragt den Benutzer, ob er der Clientanwendung den Zugriff auf die Ressourcen des Benutzers autorisieren soll.
  4. Mit der Benutzerautorisierung stellt der Authentifizierungsserver ein Zugriffstoken für die Clientanwendung aus.
  5. Die Clientanwendung stellt das Zugriffstoken für den Ressourcenserver bereit.
  6. Der Ressourcenserver validiert das Zugriffstoken. Wenn das Zugriffstoken gültig ist, wird die angeforderte Ressource der Clientanwendung bereitgestellt.

Verwenden Sie die OAuth-Bibliothek von PHP, um die OAuth-Authentifizierung zu implementieren.

Zunächst müssen Sie die grundlegenden Konzepte und die Verwendung der PHP-OAuth-Erweiterungsbibliothek verstehen. Die PHP-OAuth-Erweiterungsbibliothek bietet eine direkte Implementierung des OAuth-Protokolls, das das verwendet OAuth-Spezifikationen Version 1.0a und 2.0. Die PHP-OAuth-Erweiterungsbibliothek muss auf Ihrem Server installiert sein. PHP OAuth und OAuth 2.0 sind nicht dasselbe, daher müssen Sie zwei verschiedene Versionen der Bibliothek installieren.

Hier sind die Schritte zum Implementieren der OAuth-Authentifizierung in PHP mithilfe der OAuth-Bibliothek:

Schritt 1: Installieren Sie die PHP-OAuth-Erweiterungsbibliothek

Zuerst müssen Sie überprüfen, ob auf Ihrem Server die PHP-OAuth-Erweiterungsbibliothek installiert ist. Wenn bereits installiert, überspringen Sie diesen Schritt. Wenn es nicht installiert ist, befolgen Sie bitte die folgenden Schritte, um es zu installieren:

  1. Direkte Installation mit dem Befehl (erfordert Root-Berechtigung):

    sudo apt-get install php-oauth

  2. Wenn Sie es installieren möchten Führen Sie die folgenden Schritte aus, um die manuelle Installation manuell durchzuführen:

    1. Laden Sie die neueste Version der PHP-OAuth-Erweiterungsbibliothek herunter.
    2. Entpacken Sie die heruntergeladene Datei und geben Sie das entpackte Verzeichnis ein.
    3. Führen Sie den folgenden Befehl aus:

      phpize

    4. Konfigurieren:

      ./configure

    5. Kompilieren und installieren:

      make && sudo make install

Schritt 2: Bereiten Sie sich auf die OAuth-Anwendung vor Informationen

Um die OAuth-Authentifizierung zu verwenden, müssen Sie Ihre Anwendung beim OAuth-Anbieter registrieren und Ihre Anmeldeinformationen erhalten. Jeder OAuth-Anbieter hat seinen spezifischen Anwendungsregistrierungsprozess und Sie müssen dessen Anweisungen befolgen, um den Registrierungsprozess abzuschließen. Nachdem Sie sich erfolgreich registriert und Ihre Anmeldeinformationen erhalten haben, erhalten Sie die folgenden Informationen:

  1. Client-ID
  2. Client-Schlüssel
  3. Autorisierungsbereich
  4. Auth-Endpunkt
  5. Token-Endpunkt

Schritt 3: Stellen Sie eine Verbindung zu einem OAuth-Anbieter her OAuth-Anmeldeinformationen

Um eine Verbindung zu einem OAuth-Anbieter herzustellen und von diesem eine Autorisierung anzufordern, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie ein OAuth-Objekt:

    $oauth = new OAuth(

     'your client id',   //客户端ID
     'your client secret',   //客户端密钥
     OAUTH_SIG_METHOD_HMACSHA1,  //签名方法
     OAUTH_AUTH_TYPE_AUTHORIZATION //认证类型
    Nach dem Login kopieren
    Nach dem Login kopieren

    );

  2. Legen Sie die OAuth-Anbieter fest Autorisierungs- und Token-Endpunkte:

    $oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth->setRequestTokenUrl('https://provider.com/oauth/request_token');
    $ oauth->setAccessTokenUrl('https ://provider.com/oauth/access_token');
    $oauth->setAuthUrl('https://provider.com/oauth/authorize');

  3. Anfrage-Token abrufen:

    $oauth-> ;getRequestToken('https://provider.com/oauth/request_token', 'callback url');

Schritt 4: Verwenden Sie das OAuth-Autorisierungstoken

, um das Anforderungstoken zu erhalten. Nachdem Sie das Token erhalten haben, müssen Sie Folgendes tun Verwenden Sie das Autorisierungstoken, um auf die geschützten Ressourcen des OAuth-Anbieters zuzugreifen. Um ein Autorisierungstoken zu verwenden, müssen Sie es an den OAuth-Anbieter senden und ein Zugriffstoken anfordern. Nachdem Sie das Zugriffstoken erhalten haben, können Sie auf die Ressource zugreifen, die die geschützte API aufruft.

Der folgende Beispielcode zeigt, wie Sie mit einem Autorisierungstoken auf eine geschützte API zugreifen.

  1. Erstellen Sie ein OAuth-Objekt:

    $oauth = new OAuth(

     'your client id',   //客户端ID
     'your client secret',   //客户端密钥
     OAUTH_SIG_METHOD_HMACSHA1,  //签名方法
     OAUTH_AUTH_TYPE_AUTHORIZATION //认证类型
    Nach dem Login kopieren
    Nach dem Login kopieren

    );

  2. Legen Sie die Autorisierungs- und Token-Endpunkte des OAuth-Anbieters fest:

    $oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
    $oauth ->setRequestTokenUrl('https://provider.com/oauth/request_token');
    $oauth->setAccessTokenUrl('https://provider.com/oauth/access_token');
    $oauth-> ;setAuthUrl ('https://provider.com/oauth/authorize');

  3. Autorisierungstoken abrufen:

    $oauth->setToken('Ihr Zugriffstoken', 'Ihr Zugriffstoken-Geheimnis');

  4. Zugriffsgeschützte API:

    $oauth->fetch('https://provider.com/api/resource');

Zusammenfassung

OAuth-Authentifizierung ist ein beliebter Autorisierungsstandard, der es Anwendungen ermöglicht, Benutzerdaten sicher von anderen Anwendungen anzufordern, ohne Passwörter preiszugeben. Die PHP-OAuth-Erweiterungsbibliothek bietet eine direkte Implementierung des OAuth-Protokolls, sodass wir die OAuth-Authentifizierung problemlos in PHP implementieren können. Durch die Verwendung der OAuth-Authentifizierung können wir sicherstellen, dass die Daten des Benutzers sicher und nicht anfällig für Missbrauch sind.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die OAuth-Authentifizierung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage