Heim  >  Artikel  >  Backend-Entwicklung  >  PHP und OAuth: Implementierung der LinkedIn-Login-Integration

PHP und OAuth: Implementierung der LinkedIn-Login-Integration

WBOY
WBOYOriginal
2023-07-28 16:28:501077Durchsuche

PHP und OAuth: LinkedIn-Login-Integration implementieren

Im heutigen Zeitalter der sozialen Medien können sich Benutzer über verschiedene Plattformen registrieren und anmelden, was den Prozess der Benutzerverwaltung und den Erhalt von Benutzerinformationen für Website-Entwickler erheblich erleichtert. OAuth ist ein offener Standard, der es Benutzern ermöglicht, Anwendungen von Drittanbietern den Zugriff auf ihre Ressourcen auf einer bestimmten Plattform zu autorisieren, ohne direkt einen Benutzernamen und ein Passwort anzugeben. In diesem Artikel erfahren Sie, wie Sie die LinkedIn-Login-Integration mithilfe von PHP und OAuth implementieren.

LinkedIn ist eine professionelle Networking-Plattform, die es Benutzern ermöglicht, sich in Berufskreisen zu vernetzen und ihre Arbeitserfahrungen und Erfolge auszutauschen. Durch die Integration der LinkedIn-Anmeldung können Website-Entwickler die persönlichen Daten der Benutzer einfacher abrufen und eine genauere Benutzererfahrung bieten.

Der erste Schritt besteht darin, eine App auf der LinkedIn Developer Platform zu erstellen und den API-Schlüssel und den geheimen Schlüssel für die App zu erhalten. Melden Sie sich bei der Entwicklerplattform an, erstellen Sie eine Anwendung und befolgen Sie die Anweisungen, um die erforderlichen Informationen einzugeben. Nach erfolgreicher Erstellung der Anwendung erhalten Sie einen API-Schlüssel und einen geheimen Schlüssel, die als Anmeldeinformationen dienen, die wir als Nächstes verwenden werden.

Als nächstes müssen wir die OAuth-Bibliothek in PHP verwenden, um den OAuth-Autorisierungsprozess zu implementieren. Zuerst müssen wir die notwendige PHP-OAuth-Erweiterung installieren. Führen Sie zur Installation den folgenden Befehl in der Befehlszeile aus:

$ sudo apt-get install php-oauth

Nach erfolgreicher Installation können wir mit dem Schreiben von Code beginnen.

<?php

$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$callback_url = 'YOUR_CALLBACK_URL';

$oauth = new OAuth($api_key, $api_secret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_URI);

$request_token = $oauth->getRequestToken('https://api.linkedin.com/uas/oauth/requestToken');
$request_token_info = $oauth->getLastResponseInfo();

if ($request_token_info['http_code'] == 200) {
  $request_token = explode('&', $request_token);
  $oauth_verifier = $request_token['oauth_verifier'];
  $oauth_token = $request_token['oauth_token'];
  
  $_SESSION['oauth_token'] = $oauth_token;
  $_SESSION['oauth_verifier'] = $oauth_verifier;
  
  header('Location: https://api.linkedin.com/uas/oauth/authorize?oauth_token='.$oauth_token);
  exit;
} else {
  // 处理错误
}

?>

Im obigen Code definieren wir zunächst den API-Schlüssel und den Schlüssel, den wir auf der LinkedIn Developer Platform erhalten haben, sowie die Rückruf-URL. Anschließend verwenden wir die OAuth-Bibliothek, um ein OAuth-Objekt zu erstellen und den Autorisierungstyp auf URI festzulegen. Als Nächstes verwenden wir die Methode getRequestToken, um ein Anforderungstoken und die Antwortinformationen abzurufen. Wenn das Abrufen des Anforderungstokens erfolgreich ist, speichern wir das Token und den Authentifikator aus der Antwort in der Sitzung und leiten den Benutzer zur Autorisierung auf die LinkedIn-Autorisierungsseite weiter. getRequestToken方法获取一个请求令牌,并获取响应的信息。如果获取请求令牌成功,我们将响应中的令牌和验证器保存到会话中,并将用户重定向到LinkedIn授权页面进行授权。

完成授权后,LinkedIn将把用户重定向回我们的应用程序,并将验证器作为查询参数附加到回调URL中。我们可以在回调页面中获取验证器,并使用它来获取访问令牌。

<?php

$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$callback_url = 'YOUR_CALLBACK_URL';

$oauth_token = $_SESSION['oauth_token'];
$oauth_verifier = $_SESSION['oauth_verifier'];

$oauth = new OAuth($api_key, $api_secret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauth_token, $oauth_verifier);

$access_token = $oauth->getAccessToken('https://api.linkedin.com/uas/oauth/accessToken');
$access_token_info = $oauth->getLastResponseInfo();

if ($access_token_info['http_code'] == 200) {
  $access_token = explode('&', $access_token);
  $oauth_token = $access_token['oauth_token'];
  $oauth_token_secret = $access_token['oauth_token_secret'];
  
  // 使用访问令牌获取用户数据 
} else {
  // 处理错误
}

?>

在上述代码中,我们首先从会话中获取之前保存的令牌和验证器。然后,我们使用这些令牌和验证器创建一个OAuth对象,并设置授权类型为URI。接下来,我们使用getAccessToken

Sobald die Autorisierung abgeschlossen ist, leitet LinkedIn den Benutzer zurück zu unserer Anwendung und hängt den Validator als Abfrageparameter an die Rückruf-URL an. Wir können den Authentifikator auf der Rückrufseite abrufen und ihn verwenden, um das Zugriffstoken abzurufen.

<?php

$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$callback_url = 'YOUR_CALLBACK_URL';
$oauth_token = 'USER_ACCESS_TOKEN';
$oauth_token_secret = 'USER_ACCESS_TOKEN_SECRET';

$oauth = new OAuth($api_key, $api_secret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setToken($oauth_token, $oauth_token_secret);

$oauth->fetch('https://api.linkedin.com/v2/me');
$user_data = json_decode($oauth->getLastResponse());

// 处理用户数据

?>

Im obigen Code erhalten wir zunächst den zuvor gespeicherten Token und Authentifikator aus der Sitzung. Anschließend erstellen wir mithilfe dieser Token und Authentifikatoren ein OAuth-Objekt und legen den Autorisierungstyp auf URI fest. Als Nächstes verwenden wir die Methode getAccessToken, um das Zugriffstoken und die Antwortinformationen abzurufen. Wenn der Erhalt des Zugriffstokens erfolgreich ist, speichern wir das Token und den Schlüssel aus der Antwort in den entsprechenden Variablen.

Der nächste Schritt besteht darin, das Zugriffstoken zu verwenden, um die Benutzerdaten abzurufen. Gemäß der API-Dokumentation von LinkedIn können wir das Zugriffstoken verwenden, um das Basisprofil des Benutzers, verbundene Unternehmen, Positionen und andere Informationen abzurufen.

Der Beispielcode lautet wie folgt:

rrreee

Im obigen Code definieren wir zunächst unseren API-Schlüssel, API-Schlüssel, Rückruf-URL sowie das Zugriffstoken und das Geheimnis des Benutzers. Anschließend erstellen wir ein OAuth-Objekt und setzen den Autorisierungstyp auf Autorisierung. Als Nächstes verwenden wir das Zugriffstoken und den geheimen Schlüssel des Benutzers, um die Benutzerdaten abzurufen. In diesem Beispiel verwenden wir die v2-API von LinkedIn, um das Profil des Benutzers abzurufen.

Nach Erhalt der Benutzerdaten können wir die Daten bedarfsgerecht verarbeiten. Sie können Benutzerdaten in einer Datenbank speichern oder andere Vorgänge basierend auf einer bestimmten Geschäftslogik ausführen.

In diesem Artikel haben wir gelernt, wie man die LinkedIn-Login-Integration mit PHP und OAuth implementiert. Über OAuth können wir sicher mit LinkedIn kommunizieren und das Profil des Benutzers abrufen. Auf diese Weise können wir den Benutzern ein personalisierteres und genaueres Benutzererlebnis bieten. 🎜🎜Ich hoffe, dieser Artikel war hilfreich und wünsche dir viel Erfolg bei deiner Entwicklung! 🎜

Das obige ist der detaillierte Inhalt vonPHP und OAuth: Implementierung der LinkedIn-Login-Integration. 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