Maison > développement back-end > tutoriel php > Comment intégrer la connexion Github à l'aide de PHP et OAuth

Comment intégrer la connexion Github à l'aide de PHP et OAuth

王林
Libérer: 2023-07-28 16:04:01
original
937 Les gens l'ont consulté

Comment utiliser PHP et OAuth pour l'intégration de la connexion Github

À l'ère actuelle d'Internet, la connexion des utilisateurs est devenue l'une des fonctionnalités nécessaires pour presque tous les sites Web et applications. Cependant, pour plus de commodité, de nombreux sites Web choisissent de simplifier le processus de connexion en intégrant des fournisseurs de connexion tiers. Dans cet article, nous explorerons comment implémenter l'intégration de connexion Github à l'aide de PHP et OAuth.

OAuth (Open Authorization) est un standard ouvert qui permet aux utilisateurs d'autoriser des applications tierces à accéder à leurs ressources sans fournir leur nom d'utilisateur et leur mot de passe. En tant que première plateforme mondiale de gestion de code open source, Github fournit un mécanisme d'authentification OAuth2.0 permettant aux utilisateurs de se connecter.

Tout d'abord, nous devons demander une application OAuth sur Github. Connectez-vous à votre compte Github, allez dans « Paramètres » -> « Paramètres du développeur » -> « Applications OAuth », cliquez sur « Nouvelle application OAuth » pour créer une nouvelle application OAuth. Remplissez les informations de base de l'application, notamment le nom, la description, l'URL de la page d'accueil et l'URL de rappel. Dans l'URL de rappel, remplissez l'URL vers laquelle vous souhaitez que l'utilisateur revienne une fois sa connexion terminée. Une fois terminé, Github fournira à votre application un identifiant d'autorisation « ID client » et « secret client ».

Ensuite, nous devons implémenter l'intégration de la connexion Github en PHP. Tout d'abord, créez un fichier appelé "github_login.php" et importez la bibliothèque OAuth :

<?php
require_once 'oauth/OAuth.php';
Copier après la connexion

Ensuite, définissez les informations d'identification d'autorisation et l'URL de rappel pour votre application Github :

$clientId = 'YOUR_CLIENT_ID';
$clientSecret = 'YOUR_CLIENT_SECRET';
$redirectUri = 'YOUR_REDIRECT_URL';
Copier après la connexion

Dans l'intégration de connexion Github, nous devons implémenter deux étapes. Tout d'abord, nous devons générer un lien de connexion afin que l'utilisateur clique dessus et accède à Github pour l'authentification :

$baseUrl = 'https://github.com/login/oauth/authorize';
$params = array(
    'client_id' => $clientId,
    'redirect_uri' => $redirectUri,
    'scope' => 'user'
);
$loginUrl = $baseUrl . '?' . http_build_query($params);

echo '<a href="' . $loginUrl . '">使用Github账号登录</a>';
Copier après la connexion

Lorsque l'utilisateur clique sur le lien de connexion, Github le dirigera vers l'URL de rappel spécifiée avec un code d'autorisation. Dans l'URL de rappel, nous pouvons obtenir le code d'autorisation via le code suivant :

$code = $_GET['code'];
Copier après la connexion

Ensuite, nous devons utiliser le code d'autorisation pour obtenir le jeton d'accès de Github :

$baseUrl = 'https://github.com/login/oauth/access_token';
$params = array(
    'client_id' => $clientId,
    'client_secret' => $clientSecret,
    'code' => $code,
    'redirect_uri' => $redirectUri
);
$tokenUrl = $baseUrl . '?' . http_build_query($params);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $tokenUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$accessToken = json_decode($response, true)['access_token'];
Copier après la connexion

Enfin, nous utilisons le jeton d'accès obtenu pour obtenir le utilisateur de Github Informations :

$baseUrl = 'https://api.github.com/user';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: token ' . $accessToken));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$userData = json_decode($response, true);

// 输出用户信息
echo 'Github用户名:' . $userData['login'];
echo 'Github用户ID:' . $userData['id'];
Copier après la connexion

Avec les étapes ci-dessus, nous avons implémenté le processus d'intégration de connexion Github à l'aide de PHP et OAuth. Dans les applications pratiques, nous pouvons enregistrer les informations utilisateur obtenues dans la base de données pour compléter le traitement logique de l'enregistrement ou de la connexion de l'utilisateur.

Pour résumer, l'intégration de la connexion Github à l'aide de PHP et OAuth n'est pas compliquée. Grâce au mécanisme d'authentification OAuth2.0 fourni par Github, nous pouvons offrir aux utilisateurs une expérience de connexion rapide et sécurisée. J'espère que cet article pourra vous aider à comprendre et à mettre en œuvre l'intégration de la connexion Github.

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