Comment ajouter une connexion Google OAuth sur un site Web avec PHP
Si vous exploitez un site Web sur lequel un utilisateur peut s’inscrire, vous souhaiterez peut-être ajouter la fonction de connexion Google OAuth. La connexion Google pour les sites Web ajoute un processus d’enregistrement simple pour les utilisateurs. Vos utilisateurs peuvent utiliser leur compte Google pour s’inscrire à votre site Web. Ils n’ont pas besoin de remplir votre formulaire d’inscription, d’activer leur compte par e-mail, etc.
Dans cet article, nous étudions comment ajouter la fonctionnalité de connexion Google OAuth à votre site Web.
Obtenez vos identifiants
Pour commencer avec l’API de connexion Google, vous devez d’abord créer un projet sur Google et obtenir vos informations d’identification. Vous trouverez ci-dessous les étapes à suivre pour créer le projet Google.
- Accédez à la console développeur de Google.
- Cliquez sur la liste déroulante et créez un nouveau projet en cliquant sur le signe (+). Alternativement, vous pouvez également sélectionner le projet existant.
- Sélectionnez votre projet et cliquez sur ‘ACTIVER LES API ET LES SERVICES’. Dans le champ de recherche, saisissez « Google+ » et sélectionnez l’API Google+. Activez-le.
- Accédez à nouveau au tableau de bord de votre projet et sélectionnez Informations d’identification dans la barre latérale.
- Sous l’onglet Informations d’identification, cliquez sur la liste déroulante Créer des informations d’identification et sélectionnez ID client OAuth.
- Sélectionnez l’application Web dans Type d’application. Dans les URL de redirection autorisées, saisissez l’URL
YOUR_DOMAIN_URL/index.php
- Une fois que vous l’avez enregistré, vous obtiendrez la boîte de dialogue avec votre identifiant client et votre secret client. Copiez ces clés dont nous aurons besoin dans les prochaines étapes.
Vous remarquerez peut-être l’URL de redirection que nous avons définie dans l’application. Dans ce tutoriel, nous allons gérer le code de rappel dans le fichier index.php
. Les utilisateurs sont libres d’utiliser tout autre fichier à cette fin.
Installation de la bibliothèque HybridAuth
HybridAuth est une bibliothèque PHP open source de connexion sociale. En utilisant cette bibliothèque, nous pouvons ajouter une connexion sociale pour un ou plusieurs fournisseurs comme Google, Facebook, Twitter, etc.
Installons la bibliothèque HybridAuth à l’aide d’un composer. Créez un composer.json
fichier dans le dossier racine du projet et ajoutez-y le code ci-dessous.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Ensuite, ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande :
composer install
Créez le config.php
fichier et ajoutez le code ci-dessous pour configurer la connexion Google.
<?php
require_once 'vendor/autoload.php';
$config = [
'callback' => 'YOUR_DOMAIN_URL/index.php',
'keys' => [
'id' => 'YOUR_CLIENT_ID',
'secret' => 'YOUR_CLIENT_SECRET'
],
'scope' => 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
'authorize_url_parameters' => [
'approval_prompt' => 'force', // to pass only when you need to acquire a new refresh token.
'access_type' => 'offline'
]
];
$adapter = new HybridauthProviderGoogle( $config );
Assurez-vous de remplacer les espaces réservés par les valeurs réelles. Dans le code ci-dessus, nous avons passé en YOUR_DOMAIN_URL/index.php
tant que valeur de rappel. Ajustez ce chemin selon vos besoins.
Ajouter la connexion Google OAuth
Nous avons tous mis nos configurations et bon pour aller de l’avant. Alors, créons des fichiers index.php
et logout.php
dans le répertoire racine de votre projet.
index.php
<?php
require_once 'config.php';
try {
$adapter->authenticate();
$userProfile = $adapter->getUserProfile();
print_r($userProfile);
echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Désormais, lorsque vous exécutez index.php
dans le navigateur, notre code vérifie d’abord si l’utilisateur est authentifié avec ‘Google’ ou non. Sinon, il redirige vers la page de connexion Google. L’utilisateur doit se connecter avec son compte Google, puis il sera redirigé vers le index.php
nouveau. Une fois que l’utilisateur accède à la page de connexion, nous obtenons le profil de l’utilisateur en utilisant la méthode getUserProfile()
.
Dans le logout.php
fichier, il suffit de déconnecter l’adaptateur Google.
déconnexion.php
<?php
require_once 'config.php';
try {
if ($adapter->isConnected()) {
$adapter->disconnect();
echo 'Logged out the user';
echo '<p><a href="index.php">Login</a></p>';
}
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Nous espérons que vous pourrez découvrir Google OAuth Login sur un site Web avec PHP. S’il vous plaît partager vos pensées dans la section commentaire ci-dessous.
Articles Liés
- Connexion Google dans Laravel en utilisant Laravel Socialite
- Comment intégrer la newsletter MailChimp dans l’application Laravel
- Comment faire une sauvegarde de l’application Laravel