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

Sotsiaalne sisselogimine PHP-s, kasutades HybridAuthi teeki

18

Sotsiaalse sisselogimise funktsiooni integreerimine veebisaidile on tänapäeval trend. See funktsioon muudab kasutaja sisselogimise ja registreerimise lihtsaks. Kui kasutaja on valmis oma veebisaidil oma sotsiaalset profiili kasutama, ei pea ta teie registreerimisvormi täitma, aktiveerige oma konto.

Sotsiaalsed saidid ei paku veebisaidile ka kasutaja privaatset teavet. Selle asemel pakuvad nad ainult põhilisi üksikasju, nagu nimi, sugu, sotsiaalne ID (konkreetsel sotsiaalsel saidil), e-post. Veebirakendus võib küsida kasutajalt lisateavet. Kuid kasutaja peab andma juurdepääsu lisateabele. See sõltub täielikult sellest, kas kasutaja annab lisateabele juurdepääsu või mitte. Mõni sotsiaalne sait nagu Twitter ei anna kasutajale e-posti aadressi. Asi on selles, et veebisaidiga suhtlemiseks on turvaline kasutada oma sotsiaalse saidi profiili.

Sotsiaalne sisselogimine PHP-s, kasutades HybridAuthi teeki

Arendaja jaoks pole sotsiaalse sisselogimise koodi kirjutamine lihtne. Esiteks peavad nad lugema sotsiaalsete saitide nagu Facebook, Twitter pakutavat dokumentatsiooni. Igal suhtlussaidil on oma raamatukogu ja oma viis sotsiaalse sisselogimise funktsiooni integreerimiseks.

Näiteks soovite lisada sotsiaalse sisselogimise Facebooki ja Twitteriga. Sellisel juhul peab arendaja kirjutama mõlema suhtlussaidi jaoks erineva koodi, mille nad oma ametlikes dokumentides näevad.

Arendajal ei ole koodi lihtne välja töötada, kui teil on rohkem kui üks sotsiaalne sait, millega suhelda.

Tänu HybridAuthile – avatud lähtekoodiga sotsiaalne märk PHP teegis. HybridAuthi meeskond muudab meie arendajate elu lihtsaks.

Selle teegi abil ei pea me lugema sotsiaalse saidi dokumentatsiooni selle kohta, kuidas integreerida veebisaidile sotsiaalne sisselogimine. Peame kõik tegema – installima ja konfigureerima HybridAuthi teegi õigesti ning registreerima rakenduse sotsiaalsetel saitidel (mis on vajalik isegi siis, kui me ei kasuta HybridAuthi teeki).

Paigaldamine

HybridAuthi teegi installimiseks on soovitatav kasutada heliloojat. Kui teie helilooja pole teie süsteemi installitud, saate selle hankida nende ametlikult veebisaidilt.

Looge oma projekti juurkataloogis composer.jsoni fail ja asetage sellesse allolev kood.

{
    "require": {
        "hybridauth/hybridauth": "2.9.6"
    }
}

Oleme versioonist 2.9.6 möödunud, kuna selle artikli kirjutamise ajal on see HybridAuthi teegi viimane stabiilne väljaanne.

Avage projekti juurkataloogis terminal ja käivitage käsk composer install. See installib teie süsteemi HybridAuthi teegi versiooni 2.9.6.

Konfiguratsioon

Veenduge, et teegi konfigureerite õigesti. Kui te ei suuda seda õigesti konfigureerida, ei saa teegist kasu ja satute lõpuks pettumuse alla.

Kopeerige 2 faili config.php ja index.php kataloogist vendorhybridauthhybridauthhybridauth ja asetage projekti juurkataloogi. Nimetage fail index.php ümber nimeks hybridauth.php, kuna meil võib samas kohas olla veel üks index.php.

Avage fail config.php ja lisage oma rakendusvõtmed ja saladus seotud pakkujate massiivi.

Klõpsake siin, et saada loetelu kõigist sotsiaalsetest pakkujatest, mida HybridAuth toetab. Pakkujaid ja täiendavaid pakkujaid leiame ka installitud teegist endast. Pakkujate vaatamiseks minge saidile vendorhybridauthhybridauthhybridauthHybridProviders ja lisapakkujate jaoks vaadake kataloogi vendorhybridauthhybridauthlisapakkujad.

Oletame, et peame täpsustama Facebooki rakenduse üksikasjad. Selleks on Facebooki pakkuja config.php-s meie kood järgmine.

return array(
    "base_url" => "YOUR_SITE_URL/hybridauth.php",
    "providers" => array(
        //other providers code
        "Facebook" => array(
            "enabled" => true,
            "keys" => array("id" => "YOUR_APP_ID", "secret" => "YOUR_APP_SECRET"),
            "trustForwarded" => false,
        ),
        //other providers code
    ),
);

Veenduge, et asendasite kohahoidjad YOUR_APP_ID ja YOUR_APP_SECRET tegelike väärtustega.

Oleme läbinud ka faili hybridauth.php faili base_url jaoks.

Järgmisena avage fail hybridauth.php ja tehke järgmised muudatused.

Asenda

require_once( "Hybrid/Auth.php" );
require_once( "Hybrid/Endpoint.php" );
 
Hybrid_Endpoint::process();

Koos

require 'vendor/autoload.php';
 
Hybrid_Endpoint::process();

Tegelik sotsiaalse sisselogimise kood, kasutades HybridAuthi teeki

Selles etapis oleme lõpetanud kogu installimise ja konfigureerimise. Järgmisena peame kirjutama tegeliku sotsiaalse sisselogimiskoodi.

Oletame, et peame kasutama Facebookiga sotsiaalset sisselogimist, siis on meie kood järgmine. Eeldame, et teil on juurkaustas login-in.php, kuhu peate koodi kirjutama.

sisselogimine.php

require 'vendor/autoload.php';
 
try {
    $hybridauth = new Hybrid_Auth( 'config.php' );
 
    $adapter = $hybridauth->authenticate( "Facebook" ); //it can be Twitter, Google etc.
 
    $user_profile = $adapter->getUserProfile();
} catch(Exception $e){
    echo 'Oops, we ran into an issue! '. $e->getMessage();
}

Autentimise() meetodile edastatud parameeter peab vastama faili config.php pakkuja võtmele. Funktsioon autentige () kontrollib, kas kasutaja on autentitud. Kui kasutaja pole autentitud, suunatakse see seotud sotsiaalse saidi sisselogimislehele. Pärast edukat autentimist suunab kasutaja uuesti meie faili sign-in.php.

Järgmisel real toome autentitud kasutaja üksikasjad funktsiooni getUserProfile () abil.

Pakkujaga seotud kasutaja väljalogimiseks kirjutame lihtsalt alloleva koodi oma faili logout.php.

logout.php

require 'vendor/autoload.php';
 
Hybrid_Auth::logoutAllProviders();

Loodetavasti saate aru, kuidas lisada PHP-s skripti sotsiaalne sisselogimine HybridAuthi teegi abil. Kui teil on küsimusi või ettepanekuid, jätke kommentaar allpool. Samuti võiksite lugeda meie artiklit Sotsiaalne sisselogimissüsteem Laraveli suhtlusportaali abil.

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