Maison > Article > développement back-end > Comment intégrer la connexion Github à l'aide de PHP et OAuth
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';
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';
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>';
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'];
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'];
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'];
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!