✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Accesso social in PHP utilizzando la libreria HybridAuth

29

L’integrazione della funzionalità di accesso social nel sito Web è una tendenza al giorno d’oggi. Questa funzione semplifica il processo di accesso e registrazione dell’utente. Se un utente è pronto per utilizzare il proprio profilo social sul tuo sito Web, non ha bisogno di compilare il modulo di registrazione, ma attiva il proprio account.

I siti social inoltre non forniscono informazioni private di un utente al sito web. Invece, forniscono solo dettagli di base come nome, genere, ID social (su un sito social specifico), e-mail. L’applicazione web può richiedere maggiori dettagli di un utente. Ma l’utente deve dare accesso a informazioni extra. Dipende totalmente dall’utente che dà accesso a più informazioni o meno. Alcuni siti social come Twitter non forniscono l’email di un utente. Il punto è che è sicuro utilizzare il profilo del tuo sito social per l’interazione con un sito web.

Accesso social in PHP utilizzando la libreria HybridAuth

Per uno sviluppatore non è semplice scrivere un codice per l’accesso social. Innanzitutto, devono leggere la documentazione fornita da siti social come Facebook, Twitter. Ogni sito social ha la propria libreria e il proprio modo per integrare la funzionalità di accesso social.

Ad esempio, stai cercando di aggiungere un accesso social con Facebook e Twitter. In tal caso, uno sviluppatore deve scrivere un codice diverso per entrambi i siti social come fornito da loro nella loro documentazione ufficiale.

Non è facile per uno sviluppatore sviluppare un codice se hai più di un sito social con cui interagire.

Grazie a HybridAuth – segno social open source su libreria PHP. Il team di HybridAuth semplifica la vita ai nostri sviluppatori.

Utilizzando questa libreria, non abbiamo bisogno di leggere la documentazione dei siti social su come integrare il social login nel sito web. Quello che dobbiamo fare tutti è: installare e configurare correttamente la libreria HybridAuth e registrare un’applicazione sui siti social (cosa necessaria anche se non utilizziamo la libreria HybridAuth).

Installazione

Per installare la libreria HybridAuth, si consiglia l’uso del compositore. Se non hai il compositore installato sul tuo sistema, puoi scaricarlo dal loro sito ufficiale.

Crea un file composer.json nella directory principale del tuo progetto e inserisci il codice seguente al suo interno.

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

Abbiamo superato "2.9.6" perché al momento della stesura di questo articolo è l’ ultima versione stabile della libreria HybridAuth.

Apri il terminale nella directory principale del progetto ed esegui il comando composer install. Installerà la libreria HybridAuth versione 2.9.6 sul tuo sistema.

Configurazione

Assicurati di configurare correttamente una libreria. Se non riesci a configurarlo correttamente, non otterrai alcun vantaggio da una libreria e finirai nella frustrazione.

Copia i 2 file config.php e index.php dalla directory vendorhybridauthhybridauthhybridauth e posizionali nella directory principale di un progetto. Rinominare il file index.php in hybridauth.php poiché potremmo avere un altro index.php nella stessa posizione.

Apri il file config.php e aggiungi le chiavi e il segreto dell’applicazione nell’array dei provider correlati.

Fare clic qui per ottenere l’elenco di tutti i social provider supportati da HybridAuth. Troviamo anche fornitori e fornitori aggiuntivi nella stessa libreria installata. Per vedere i provider, vai a vendorhybridauthhybridauthhybridauthHybridProviders e per ulteriori provider controlla la directory vendorhybridauthhybridauthadditional-provider.

Diciamo che dobbiamo specificare i dettagli dell’applicazione di un Facebook. Per questo, nel config.php per il provider di Facebook il nostro codice è il seguente.

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

Assicurati di aver sostituito i segnaposto YOUR_APP_ID e YOUR_APP_SECRET con i valori effettivi.

Abbiamo anche passato il percorso di un file hybridauth.php per base_url.

Quindi, apri il file hybridauth.php e apporta le seguenti modifiche.

Sostituire

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

Con

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

Codice di accesso social effettivo utilizzando la libreria HybridAuth

A questo punto, abbiamo completato l’installazione e la configurazione di una libreria. Successivamente, è necessario scrivere un codice di accesso social effettivo.

Diciamo che dobbiamo usare l’accesso social con Facebook, quindi il nostro codice sarà come di seguito. Supponiamo che tu abbia sign-in.php nella cartella principale in cui devi scrivere un codice.

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

Il parametro passato al metodo authenticate() deve corrispondere alla chiave del provider nel file config.php. La funzione autentica() controlla se un utente è autenticato. Se l’utente non è autenticato, reindirizza alla pagina di accesso di un sito social correlato. Dopo l’autenticazione riuscita, l’utente reindirizza nuovamente al nostro file sign-in.php.

Nella riga successiva, recuperiamo i dettagli di un utente autenticato utilizzando la funzione getUserProfile().

Per disconnettere l’utente collegato al provider scriviamo semplicemente il codice sottostante nel nostro file logout.php.

logout.php

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

Ci auguriamo che tu capisca come aggiungere l’accesso social tramite script in PHP utilizzando la libreria HybridAuth. Se hai domande o suggerimenti, lascia un commento qui sotto. Potresti anche leggere il nostro articolo Sistema di accesso sociale utilizzando Laravel Socialite.

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More