Kuinka lisätä Google OAuth -kirjautuminen verkkosivustoon PHP: n avulla
Jos sinulla on verkkosivusto, johon käyttäjä voi rekisteröityä, sinun kannattaa lisätä Google OAuth -kirjautumisominaisuus. Google-kirjautuminen verkkosivustoille lisää käyttäjille helpon rekisteröintiprosessin. Käyttäjät voivat kirjautua Google-tilillesi verkkosivustollesi. Heidän ei tarvitse täyttää rekisteröintilomakettasi, aktivoida tilinsä sähköpostitse jne.
Tässä artikkelissa tutkitaan, miten Google OAuth -kirjautumisominaisuus lisätään verkkosivustoosi.
Hanki valtakirjasi
Aloita Google login API -sovellusliittymän luominen ensin luomalla projekti Googlessa ja hankkimalla kirjautumistiedot. Alla on vaiheet, jotka sinun tulisi suorittaa Google-projektin luomiseksi.
- Siirry Google Developer Consoleen.
- Napsauta avattavaa valikkoa ja luo uusi projekti napsauttamalla (+) -merkkiä. Vaihtoehtoisesti voit valita myös olemassa olevan projektin.
- Valitse projekti ja napsauta kohtaa ‘SALLITA APIS JA PALVELUT’. Kirjoita hakukenttään ‘Google+’ ja valitse Google+ -sovellusliittymä. Ota se käyttöön.
- Jälleen palaa projektin hallintapaneeliin ja valitse sivupalkista Tunnistetiedot.
- Napsauta Tunnistetiedot-välilehden avattavaa Luo tunnistetiedot -kohtaa ja valitse OAuth-asiakastunnus.
- Valitse verkkosovellus kohdasta Sovelluksen tyyppi. Kirjoita URL-osoite Valtuutetut uudelleenohjaus-URL-osoitteet -kohtaan
YOUR_DOMAIN_URL/index.php
- Kun olet tallentanut sen, saat valintaikkunan sekä asiakastunnuksesi ja asiakassalaisuutesi. Kopioi nämä avaimet, joita tarvitsemme seuraavissa vaiheissa.
Saatat huomata uudelleenohjauksen URL-osoitteen, jonka asetimme sovelluksessa. Tässä opetusohjelmassa käsittelemme soittokoodia index.php
. Käyttäjät voivat käyttää muita tiedostoja tähän tarkoitukseen.
HybridAuth-kirjaston asennus
HybridAuth on avoimen lähdekoodin sosiaalisen kirjautumisen PHP-kirjasto. Tätä kirjastoa käyttämällä voimme lisätä sosiaalisen kirjautumisen yhdelle tai useammalle palveluntarjoajalle, kuten Google, Facebook, Twitter jne.
Asennetaan HybridAuth-kirjasto säveltäjän avulla. Luo composer.json
tiedosto projektin juurikansioon ja lisää alla oleva koodi siihen.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Avaa seuraavaksi pääte projektin juurihakemistossa ja suorita komento:
composer install
Luo config.php
tiedosto ja lisää siihen alla oleva koodi määrittääksesi Google-kirjautumistunnuksen.
<?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 );
Muista korvata paikkamerkit todellisilla arvoilla. Yllä olevassa koodissa YOUR_DOMAIN_URL/index.php
välitimme soittopyynnön arvona. Säädä tätä polkua vaatimuksesi mukaan.
Lisää Google OAuth -kirjautuminen
Olemme kaikki asettaneet kokoonpanomme kanssa ja hyvä mennä eteenpäin. Joten, luodaan tiedostot index.php
ja logout.php
projektin juurihakemistoon.
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() ;
}
Nyt kun suoritat index.php
selaimessa, koodimme tarkistaa ensin, onko käyttäjä todennettu Google-palvelulla vai ei. Jos ei, se ohjaa Googlen kirjautumissivulle. Käyttäjän on kirjauduttava sisään Google-tilillään ja sitten se ohjaa index.php
uudelleen. Kun käyttäjä tulee kirjautumissivulle, saamme käyttäjäprofiilin menetelmällä getUserProfile()
.
Vuonna logout.php
tiedosto meidän täytyy vain irrottaa Google sovittimen.
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() ;
}
Toivomme, että saat tietää Google OAuth -kirjautumisesta PHP-verkkosivustolla. Ole hyvä ja jaa ajatuksiasi alla olevassa kommenttiosassa.