Kuidas lisada Google OAuthi sisselogimist veebisaidile koos PHP-ga
Kui teil on veebileht, kus kasutaja saab registreeruda, võiksite lisada Google OAuthi sisselogimisfunktsiooni. Google’i veebisaitide sisselogimine lisab kasutajatele lihtsa registreerimisprotsessi. Teie kasutajad saavad teie veebisaidile registreerumiseks kasutada oma Google’i kontot. Neil pole vaja täita teie registreerimisvormi, aktiveerida oma konto e-posti teel jne.
Selles artiklis uurime, kuidas lisada Google OAuthi sisselogimisfunktsioon oma veebisaidile.
Hankige oma volikirjad
Google’i sisselogimise API-ga alustamiseks peate kõigepealt looma Google’is projekti ja hankima oma volitused. Allpool on toodud sammud, mida peaksite Google’i projekti loomiseks tegema.
- Avage Google Developer Console.
- Klõpsake rippmenüül ja looge uus projekt, klõpsates nuppu (+). Teise võimalusena saate valida ka olemasoleva projekti.
- Valige oma projekt ja klõpsake nuppu ‘LUBA APIS JA TEENUSED’. Tippige otsingukasti „Google+" ja valige Google+ API. Luba see.
- Jällegi tulge oma projekti juhtpaneelile ja valige külgribalt Mandaadid.
- Klõpsake vahekaardi Mandaadid rippmenüüd Loo mandaadid ja valige OAuthi kliendi ID.
- Valige veebirakendus jaotisest Rakenduse tüüp. Sisestage URL-i volitatud ümbersuunamise URL-id
YOUR_DOMAIN_URL/index.php
- Kui olete selle salvestanud, kuvatakse dialoogiboks koos kliendi ID ja kliendi saladusega. Kopeerige need võtmed, mida vajame järgmistes sammudes.
Võite märgata ümbersuunamise URL-i, mille oleme rakenduses määranud. Selles õpetuses käsitleme tagasihelistamiskoodi index.php
. Kasutajad võivad sel eesmärgil vabalt kasutada mis tahes muid faile.
HybridAuthi teegi installimine
HybridAuth on avatud lähtekoodiga sotsiaalne sisselogimise PHP-teek. Selle teegi abil saame lisada sotsiaalse sisselogimise ühele või mitmele pakkujale, nagu Google, Facebook, Twitter jne.
Paigaldame HybridAuthi teegi helilooja abil. Looge composer.json
fail projekti juurkaustas ja lisage sellesse allolev kood.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Seejärel avage terminal oma projekti juurkataloogis ja käivitage käsk:
composer install
config.php
Google’i sisselogimise konfigureerimiseks looge fail ja lisage selles allpool kood.
<?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 );
Asendage kohatäited tegelike väärtustega. Ülaltoodud koodis edastasime YOUR_DOMAIN_URL/index.php
tagasihelistamise väärtuse. Reguleerige seda teed vastavalt oma nõudele.
Lisage Google OAuthi sisselogimine
Oleme kõik seadistanud oma konfiguratsiooni ja hea edasi minna. Loogem siis failid index.php
ja logout.php
teie projekti juurkataloogis.
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() ;
}
Nüüd, kui käivitate index.php
brauseris, kontrollib meie kood kõigepealt, kas kasutaja on Google’iga autentitud või mitte. Kui ei, siis suunatakse see Google’i sisselogimislehele. Kasutaja peab sisse logima oma Google’i kontoga ja seejärel suunatakse see index.php
uuesti teenusesse. Kui kasutaja on sisenenud sisselogimislehele, saame meetodi abil kasutajaprofiili getUserProfile()
.
Kui logout.php
faili me lihtsalt vaja lahti Google adapter.
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() ;
}
Loodetavasti võite Google OAuthi sisselogimise kohta teada saada PHP-ga veebisaidilt. Palun jagage oma mõtteid allpool olevas kommentaaride jaotises.