Position actuelle: Accueil> Derniers articles> Comment mettre en œuvre la connexion et l'autorisation tierces d'Oauth en PHP?

Comment mettre en œuvre la connexion et l'autorisation tierces d'Oauth en PHP?

M66 2025-06-12

Comment mettre en œuvre la connexion et l'autorisation tierces de tiers à PHP

Avec l'utilisation généralisée des médias sociaux et de diverses plateformes, l'utilisation de comptes tiers pour se connecter et autoriser est devenu l'un des besoins communs dans les applications Internet. En tant que langue de développement populaire, PHP fournit un puissant support de fonction OAuth, aidant les développeurs à réaliser facilement la connexion et l'autorisation tierces.

OAuth est une norme ouverte pour autorisation des utilisateurs à accéder aux applications tierces via des jetons. Contrairement à l'authentification traditionnelle du nom d'utilisateur et du mot de passe, OAuth peut protéger efficacement les informations personnelles des utilisateurs et rendre le processus d'autorisation plus sûr et plus facile. Cet article présentera en détail comment utiliser OAuth en PHP pour implémenter la connexion et l'autorisation tierces.

Étape 1: enregistrez un compte de développeur et créez une application

Tout d'abord, nous devons enregistrer un compte de développeur et créer une application sur une plate-forme tierce. Par exemple, prenez Sina Weibo à titre d'exemple, visitez la plate-forme Open Weibo et enregistrez un compte de développeur. Une fois que nous avons terminé l'enregistrement, nous pouvons créer une application et obtenir une clé d'application et un secret d'application, qui sont des informations d'identification importantes nécessaires pour interagir avec des plates-formes tierces.

Étape 2: Présentez la bibliothèque OAuth et configurez les informations d'authentification

Ensuite, nous devons créer un fichier PHP (tel que oauth.php) et introduire la bibliothèque OAuth. Dans PHP, nous pouvons utiliser l'extension PECL OAuth ou la bibliothèque de fonctions OAuth intégrée dans PHP.

<?php
// PrésentéOAuthBibliothèque
require_once('OAuth.php');

Dans ce code, nous devons définir la clé de l'application, l'application Secret et l'URL de rappel. L'URL de rappel est l'adresse que l'utilisateur redirige après l'autorisation, et vous pouvez la définir en fonction de vos besoins.

<?php
// App KeyetApp Secret
$consumer_key = 'your_consumer_key';
$consumer_secret = 'your_consumer_secret';

// RappelURL
$callback_url = 'http://your_website.com/callback.php';

Étape 3: Obtenez un jeton de demande

Le jeton de demande est un diplôme temporaire utilisé pour obtenir un jeton d'accès. Nous pouvons demander un jeton de demande via la méthode GetRequestToken d'OAuth.

<?php
// Créer unOAuthObjet
$oauth = new OAuth($consumer_key, $consumer_secret);

// ObtenirRequest Token
$request_token_info = $oauth-> getRequestToken (&#39;https://api.weibo.com/oauth/request_token&#39;, $ callback_url);

// jeton de demande de stockage et secret
$ _Session [&#39;oauth_token&#39;] = $ request_token_info [&#39;oauth_token&#39;];
$ _Session [&#39;oauth_token_secret&#39;] = $ request_token_info [&#39;oauth_token_secret&#39;];

// générer une URL d&#39;autorisation
$ Authorize_url = &#39;https://api.weibo.com/oauth/authorize?oauth_token=&#39;. $ request_token_info [&#39;oauth_token&#39;];

// saute à l&#39;en-tête de la page d&#39;autorisation de connexion (&#39;emplacement:&#39;. $ Autorise_url);
sortie;

Dans le code ci-dessus, nous créons un objet OAuth et l'avons initialisée avec l'application Key et App Secret. Ensuite, nous obtenons le jeton de demande via la méthode GetRequestToken et le stockons dans la session. Enfin, nous générons une URL d'autorisation et redirigeons l'utilisateur vers cette URL pour l'autorisation.

Étape 4: API d'accès à l'accès et à l'accès

Une fois l'utilisateur terminé l'autorisation, la plate-forme tierce rappellera l'URL de rappel que nous définissons et transportons le code d'autorisation (OAuth_verifier). Nous devons utiliser ce code d'autorisation dans un fichier de rappel (tel que callback.php) pour obtenir le jeton d'accès.

<?php
// PrésentéOAuthBibliothèque
require_once('OAuth.php');

// App KeyetApp Secret
$consumer_key = 'your_consumer_key';
$consumer_secret = 'your_consumer_secret';

// RappelURL
$callback_url = 'http://your_website.com/callback.php';

// Créer unOAuthObjet
$oauth = new OAuth($consumer_key, $consumer_secret);

// installationRequest TokenetSecret
$oauth-> Setthen ($ _ session [&#39;oauth_token&#39;], $ _Session [&#39;oauth_token_secret&#39;]);

// Obtenez un jeton d&#39;accès
$ access_token_info = $ oauth-> getAccessToken (&#39;https://api.weibo.com/oauth/access_token&#39;, null, $ _get [&#39;oauth_verifier&#39;]);

// Obtenez un jeton d&#39;accès et secret
$ access_token = $ access_token_info [&#39;oauth_token&#39;];
$ access_token_secret = $ access_token_info [&#39;oauth_token_secret&#39;];

// Appel API à l&#39;aide de jeton d&#39;accès
$ oAuth-> Settoken ($ access_token, $ access_token_secret);

// Appelez l&#39;API SINA Weibo pour obtenir des informations utilisateur $ oauth-> fetch (&#39;https://api.weibo.com/2/users/show.json&#39;, array (), &#39;get&#39;);
$ Response = $ oAuth-> getlastreSponse ();

// Sortie des informations utilisateur Echo $ Response;

Dans cet exemple de code, nous créons d'abord un objet OAuth via le jeton de demande et le secret stocké dans la session. Ensuite, utilisez la méthode GetAccessToken pour obtenir un jeton d'accès et utilisez le jeton pour accéder à l'API SINA Weibo pour obtenir des informations utilisateur.

Résumer

Grâce aux étapes ci-dessus, nous pouvons utiliser la fonction OAuth en PHP pour implémenter la connexion et l'autorisation tierces. Bien que les détails des implémentations OAuth puissent varier d'une plate-forme à l'autre, les processus et principes de base sont similaires. J'espère que cet article peut vous aider à comprendre et à appliquer avec succès OAuth dans votre projet, en réalisant une connexion et une autorisation tierces pratiques et sécurisées.