✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

Social inloggning i PHP med HybridAuth Library

17

Att integrera social inloggningsfunktion på webbplatsen är en trend idag. Denna funktion gör användarinloggning och registreringsprocess enkel. Om en användare är redo att använda sin sociala profil på din webbplats behöver de inte fylla i ditt registreringsformulär, aktivera deras konto.

Sociala webbplatser tillhandahåller inte heller privat information om en användare till webbplatsen. Istället tillhandahåller de bara grundläggande detaljer som namn, kön, socialt id (på specifik social webbplats), e-post. Webbapplikationen kan be om mer information om en användare. Men användaren måste ge tillgång till extra information. Det beror helt på användaren antingen ge tillgång till mer information eller inte. Vissa sociala webbplatser som Twitter tillhandahåller inte ett e-postmeddelande från en användare. Poängen är att det är säkert att använda din sociala webbplatsprofil för interaktion med en webbplats.

Social inloggning i PHP med HybridAuth Library

För en utvecklare är det inte enkelt att skriva en kod för social inloggning. Först måste de läsa dokumentationen från sociala webbplatser som Facebook, Twitter. Varje social webbplats har sitt eget bibliotek och ett eget sätt att integrera social inloggningsfunktion.

Du vill till exempel lägga till en social inloggning med Facebook och Twitter. I så fall måste en utvecklare skriva en annan kod för båda sociala webbplatser som de tillhandahåller i deras officiella dokumentation.

Det är inte lätt för en utvecklare att utveckla en kod om du har mer än en social webbplats att interagera med.

Tack vare HybridAuth – socialt tecken på öppen källkod i PHP-biblioteket. HybridAuth-teamet gör våra utvecklare enkla.

Med hjälp av detta bibliotek behöver vi inte läsa om dokumentation för sociala webbplatser om hur man integrerar social inloggning på webbplatsen. Vad vi alla behöver göra är att installera och konfigurera HybridAuth-biblioteket korrekt och registrera en applikation på sociala webbplatser (vilket är nödvändigt även om vi inte använder HybridAuth Library).

Installation

För att installera HybridAuth-biblioteket rekommenderas användning av kompositör. Om du inte har installerat kompositör på ditt system kan du hämta det från deras officiella webbplats.

Skapa en composer.json-fil i din projektkatalog och placera koden nedan i den.

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

Vi har klarat "2.9.6" eftersom det vid den tidpunkten för att skriva den här artikeln är den senaste stabila versionen av HybridAuth-biblioteket.

Öppna terminalen i projektets rotkatalog och kör kommandot composer install. Det installerar HybridAuth-biblioteksversion 2.9.6 på ditt system.

Konfiguration

Se till att du konfigurerar ett bibliotek korrekt. Om du misslyckas med att konfigurera det korrekt får du inte nytta av ett bibliotek och hamnar i frustrationen.

Kopiera de två filerna config.php och index.php från vendorhybridauthhybridauthhybridauth-katalogen och placera dem i projektets rotkatalog. Byt namn på index.php-filen till hybridauth.php eftersom vi kan ha en annan index.php på samma plats.

Öppna filen config.php och lägg till dina applikationsnycklar och hemlighet i relaterade leverantörsarrangemang.

Klicka här för att få en lista över alla sociala leverantörer som stöds av HybridAuth. Vi hittar också leverantörer och ytterligare leverantörer i själva det installerade biblioteket. För att se leverantörer gå till vendorhybridauthhybridauthhybridauthHybridProviders och för ytterligare leverantörer, kolla in katalogleverantörenhybridauthhybridauthdition-leverantörer.

Låt oss säga att vi måste ange applikationsinformation för en Facebook. För detta, i config.php för Facebook-leverantören är vår kod följande.

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
    ),
);

Se till att du har ersatt platshållarna YOUR_APP_ID och YOUR_APP_SECRET med de faktiska värdena.

Vi har också passerat sökvägen till en hybridauth.php-fil för base_url.

Öppna sedan hybridauth.php-filen och gör följande ändringar.

Byta ut

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

Med

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

Faktisk social inloggningskod med HybridAuth Library

I det här skedet har vi slutfört med installation och konfiguration av ett bibliotek. Därefter måste vi skriva en faktisk social inloggningskod.

Låt oss säga att vi måste använda social inloggning med Facebook då kommer vår kod att se nedan. Vi antar att du har logga in.php i rotmappen där du behöver skriva en kod.

inloggning.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();
}

Parametern som skickas till authenticate() -metoden måste matcha leverantörsnyckeln i config.php-filen. Funktionen autentisera () kontrollerar om en användare är autentiserad. Om användaren inte är autentiserad omdirigeras den till inloggningssidan för en relaterad social webbplats. Efter framgångsrik autentisering omdirigerar användaren igen till vår inloggnings.php-fil.

På nästa rad hämtar vi detaljerna för en autentiserad användare med funktionen getUserProfile ().

För att logga ut användaren kopplad till leverantören skriver vi helt enkelt nedanstående kod i vår logout.php-fil.

logout.php

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

Vi hoppas att du förstår hur du lägger till social inloggning på skript i PHP med HybridAuth-biblioteket. Om du har några frågor eller förslag, vänligen lämna en kommentar nedan. Du kanske också vill läsa vår artikel Socialt inloggningssystem med Laravel Socialite.

Inspelningskälla: artisansweb.net

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer