PHP et OAuth : implémentation de l'intégration de la connexion LinkedIn

WBOY
Libérer: 2023-07-28 17:30:02
original
1096 Les gens l'ont consulté

PHP et OAuth : mise en œuvre de l'intégration de la connexion LinkedIn

À l'ère actuelle des médias sociaux, les utilisateurs peuvent s'inscrire et se connecter via diverses plateformes, ce qui facilite grandement le processus de gestion des utilisateurs et d'obtention d'informations sur les utilisateurs pour les développeurs de sites Web. OAuth est un standard ouvert qui permet aux utilisateurs d'autoriser des applications tierces à accéder à leurs ressources sur une certaine plateforme sans fournir directement un nom d'utilisateur et un mot de passe. Dans cet article, nous apprendrons comment implémenter l'intégration de la connexion LinkedIn à l'aide de PHP et OAuth.

LinkedIn est une plateforme de réseautage professionnel qui permet aux utilisateurs de réseauter au sein de cercles professionnels et de partager leurs expériences et réalisations professionnelles. En intégrant la connexion LinkedIn, les développeurs de sites Web peuvent obtenir plus facilement les informations personnelles des utilisateurs et offrir une expérience utilisateur plus précise.

La première étape consiste à créer une application sur la plateforme de développement LinkedIn et à obtenir la clé API et la clé secrète de l'application. Connectez-vous à la plateforme développeur, créez une application et suivez les instructions pour remplir les informations requises. Après avoir créé avec succès l'application, vous recevrez une clé API et une clé secrète, qui seront les informations d'identification que nous utiliserons ensuite.

Ensuite, nous devons utiliser la bibliothèque OAuth en PHP pour implémenter le processus d'autorisation OAuth. Tout d’abord, nous devons installer l’extension PHP OAuth nécessaire. Exécutez la commande suivante dans la ligne de commande pour installer :

$ sudo apt-get install php-oauth
Copier après la connexion

Après une installation réussie, nous pouvons commencer à écrire du code.

<?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 {
  // 处理错误
}

?>
Copier après la connexion

Dans le code ci-dessus, nous définissons d'abord la clé API et la clé que nous avons obtenues sur la plateforme de développement LinkedIn, ainsi que l'URL de rappel. Ensuite, nous utilisons la bibliothèque OAuth pour créer un objet OAuth et définir le type d'autorisation sur URI. Ensuite, nous utilisons la méthode getRequestToken pour obtenir un jeton de requête et obtenir les informations de réponse. Si l'obtention du jeton de demande réussit, nous enregistrons le jeton et l'authentificateur de la réponse dans la session et redirigeons l'utilisateur vers la page d'autorisation LinkedIn pour autorisation. 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 {
  // 处理错误
}

?>
Copier après la connexion

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

Une fois l'autorisation terminée, LinkedIn redirigera l'utilisateur vers notre application et ajoutera le validateur en tant que paramètre de requête à l'URL de rappel. Nous pouvons obtenir l'authentificateur dans la page de rappel et l'utiliser pour obtenir le jeton d'accès.

<?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());

// 处理用户数据

?>
Copier après la connexion
Dans le code ci-dessus, nous récupérons d'abord le jeton et l'authentificateur précédemment enregistrés de la session. Nous créons ensuite un objet OAuth à l'aide de ces jetons et authentificateurs, et définissons le type d'autorisation sur URI. Ensuite, nous utilisons la méthode getAccessToken pour obtenir le jeton d'accès et obtenir les informations de réponse. Si l'obtention du jeton d'accès réussit, nous enregistrons le jeton et la clé de la réponse dans les variables appropriées.

L'étape suivante consiste à utiliser le jeton d'accès pour obtenir les données utilisateur. Selon la documentation de l'API de LinkedIn, nous pouvons utiliser le jeton d'accès pour obtenir les informations de base de l'utilisateur, les sociétés affiliées, les postes et d'autres informations.

L'exemple de code est le suivant :

rrreee

Dans le code ci-dessus, nous définissons d'abord notre clé API, notre clé API, notre URL de rappel ainsi que le jeton d'accès et le secret de l'utilisateur. Ensuite, nous créons un objet OAuth et définissons le type d'autorisation sur Autorisation. Ensuite, nous utilisons le jeton d'accès et la clé secrète de l'utilisateur pour obtenir les données utilisateur. Dans cet exemple, nous utilisons l'API v2 de LinkedIn pour obtenir le profil de l'utilisateur.

Après avoir obtenu les données des utilisateurs, nous pouvons traiter les données en fonction des besoins. Vous pouvez enregistrer les données utilisateur dans une base de données ou effectuer d'autres opérations basées sur une logique métier spécifique.

Grâce à cet article, nous avons appris comment mettre en œuvre l'intégration de la connexion LinkedIn à l'aide de PHP et OAuth. Grâce à OAuth, nous pouvons communiquer en toute sécurité avec LinkedIn et obtenir le profil de l'utilisateur. De cette manière, nous pouvons offrir aux utilisateurs une expérience utilisateur plus personnalisée et plus précise. 🎜🎜J'espère que cet article vous a été utile et je vous souhaite du succès dans votre développement ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal