Hur man lägger till Google OAuth-inloggning på webbplatsen med PHP
Om du driver en webbplats där en användare kan registrera sig kanske du vill lägga till Google OAuth-inloggningsfunktionen. Googles inloggning på webbplatser lägger till en enkel registreringsprocess för användare. Dina användare kan använda sitt Google-konto för att registrera sig på din webbplats. De behöver inte fylla i ditt registreringsformulär, aktivera deras konto via e-post etc.
I den här artikeln studerar vi hur du lägger till Google OAuth-inloggningsfunktionen på din webbplats.
Få dina uppgifter
För att komma igång med Googles inloggnings-API måste du först skapa ett projekt på Google och få dina referenser. Nedan följer stegen du bör utföra för att skapa Google-projektet.
- Gå till Googles utvecklarkonsol.
- Klicka på rullgardinsmenyn och skapa ett nytt projekt genom att klicka på (+) tecken. Alternativt kan du också välja det befintliga projektet.
- Välj ditt projekt och klicka på ‘AKTIVERA APIS OCH TJÄNSTER’. Skriv ‘Google+’ i sökrutan och välj Google+ API. Aktivera det.
- Återigen komma till din projektinstrumentpanel och välj Referenser från sidofältet.
- Under fliken Referenser, klicka på rullgardinsmenyn Skapa referenser och välj OAuth-klient-id.
- Välj webbapplikationen från applikationstyp. Ange webbadressen i de auktoriserade omdirigeringsadresserna
YOUR_DOMAIN_URL/index.php
- När du har sparat den får du dialogrutan tillsammans med ditt klient-ID och klienthemlighet. Kopiera dessa nycklar som vi behöver i nästa steg.
Du kanske märker webbadressen för omdirigering som vi ställer in i applikationen. I denna handledning hanterar vi återuppringningskod i index.php
. Användarna kan använda andra filer för detta ändamål.
Installation av HybridAuth Library
HybridAuth är ett open-source socialt inloggnings-PHP-bibliotek. Med hjälp av detta bibliotek kan vi lägga till en social inloggning för en eller flera leverantörer som Google, Facebook, Twitter, etc.
Låt oss installera HybridAuth-biblioteket med en kompositör. Skapa en composer.json
fil i projektets rotmapp och lägg till koden nedan i den.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Öppna sedan terminalen i din projektkatalog och kör kommandot:
composer install
Skapa config.php
filen och lägg till koden nedan i den för att konfigurera Google-inloggningen.
<?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 );
Se till att ersätta platshållarna med de faktiska värdena. I ovanstående kod passerade vi YOUR_DOMAIN_URL/index.php
som ett återuppringningsvärde. Justera den här sökvägen enligt dina krav.
Lägg till Google OAuth-inloggning
Vi är alla inställda på våra konfigurationer och bra att gå vidare. Så, låt oss skapa filer index.php
och logout.php
i din projektkatalog.
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() ;
}
Nu när du kör index.php
i webbläsaren kontrollerar vår kod först om användaren är autentiserad med ‘Google’ eller inte. Om inte, omdirigeras den till Googles inloggningssida. Användaren måste logga in med sitt Google-konto och sedan omdirigeras det till index.php
igen. När användaren väl kommer till inloggningssidan får vi användarprofil genom att använda metoden getUserProfile()
.
I logout.php
filen behöver vi bara koppla bort Google-adaptern.
logout.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() ;
}
Vi hoppas att du kan lära dig mer om Google OAuth-inloggning på en webbplats med PHP. Dela dina tankar i kommentarsektionen nedan.
relaterade artiklar
- Google-inloggning i Laravel med Laravel Socialite
- Hur man integrerar MailChimp nyhetsbrev i Laravel Application
- Hur man tar backup av Laravel Application