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:
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:
Direkte Installation mit dem Befehl (erfordert Root-Berechtigung):
sudo apt-get install php-oauth
Wenn Sie es installieren möchten Führen Sie die folgenden Schritte aus, um die manuelle Installation manuell durchzuführen:
Führen Sie den folgenden Befehl aus:
phpize
Konfigurieren:
./configure
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:
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:
Erstellen Sie ein OAuth-Objekt:
$oauth = new OAuth(
'your client id', //客户端ID 'your client secret', //客户端密钥 OAUTH_SIG_METHOD_HMACSHA1, //签名方法 OAUTH_AUTH_TYPE_AUTHORIZATION //认证类型
);
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');
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.
Erstellen Sie ein OAuth-Objekt:
$oauth = new OAuth(
'your client id', //客户端ID 'your client secret', //客户端密钥 OAUTH_SIG_METHOD_HMACSHA1, //签名方法 OAUTH_AUTH_TYPE_AUTHORIZATION //认证类型
);
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');
Autorisierungstoken abrufen:
$oauth->setToken('Ihr Zugriffstoken', 'Ihr Zugriffstoken-Geheimnis');
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!