...
✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kuidas lisada Google OAuthi sisselogimist veebisaidile koos PHP-ga

13

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-idYOUR_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.

Kuidas lisada Google OAuthi sisselogimist veebisaidile koos PHP-ga

Paigaldame HybridAuthi teegi helilooja abil. Looge composer.jsonfail 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.phpGoogle’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.phptagasihelistamise 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.phpja logout.phpteie 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.phpbrauseris, 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.phpuuesti teenusesse. Kui kasutaja on sisenenud sisselogimislehele, saame meetodi abil kasutajaprofiili getUserProfile().

Kui logout.phpfaili 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.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem