{"id":23290,"date":"2021-04-27T16:40:00","date_gmt":"2021-04-27T13:40:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23290"},"modified":"2021-10-18T03:22:37","modified_gmt":"2021-10-18T00:22:37","slug":"accesso-social-in-php-utilizzando-la-libreria-hybridauth","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/accesso-social-in-php-utilizzando-la-libreria-hybridauth\/","title":{"rendered":"Accesso social in PHP utilizzando la libreria HybridAuth"},"content":{"rendered":"<p>L&#8217;integrazione della funzionalit\u00e0 di accesso social nel sito Web \u00e8 una tendenza al giorno d&#8217;oggi. Questa funzione semplifica il processo di accesso e registrazione dell&#8217;utente. Se un utente \u00e8 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.<\/p>\n<p>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&#8217;applicazione web pu\u00f2 richiedere maggiori dettagli di un utente. Ma l&#8217;utente deve dare accesso a informazioni extra. Dipende totalmente dall&#8217;utente che d\u00e0 accesso a pi\u00f9 informazioni o meno. Alcuni siti social come Twitter non forniscono l&#8217;email di un utente. Il punto \u00e8 che \u00e8 sicuro utilizzare il profilo del tuo sito social per l&#8217;interazione con un sito web.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20879-608236eade4f2.png\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20879-608236eade4f2.png\" alt=\"Accesso social in PHP utilizzando la libreria HybridAuth\" ><\/a><\/p>\n<p>Per uno sviluppatore non \u00e8 semplice scrivere un codice per l&#8217;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\u00e0 di accesso social.<\/p>\n<p>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.<\/p>\n<p>Non \u00e8 facile per uno sviluppatore sviluppare un codice se hai pi\u00f9 di un sito social con cui interagire.<\/p>\n<p>Grazie a <a href=\"https:\/\/hybridauth.github.io\/hybridauth\/index.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">HybridAuth<\/a> \u2013 segno social open source su libreria PHP. Il team di HybridAuth semplifica la vita ai nostri sviluppatori.<\/p>\n<p>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 \u00e8: installare e configurare correttamente la libreria HybridAuth e registrare un&#8217;applicazione sui siti social (cosa necessaria anche se non utilizziamo la libreria HybridAuth).<\/p>\n<h3>Installazione<\/h3>\n<p>Per installare la libreria HybridAuth, si consiglia l&#8217;uso del compositore. Se non hai il compositore installato sul tuo sistema, puoi <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">scaricarlo<\/a> dal loro <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sito ufficiale<\/a>.<\/p>\n<p>Crea un file composer.json nella directory principale del tuo progetto e inserisci il codice seguente al suo interno.<\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"require\": {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"hybridauth\/hybridauth\": \"2.9.6\"\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Abbiamo superato &quot;2.9.6&quot; perch\u00e9 al momento della stesura di questo articolo \u00e8 l&#8217; <a href=\"https:\/\/github.com\/hybridauth\/hybridauth\/releases\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ultima versione stabile<\/a> della libreria HybridAuth.<\/p>\n<p>Apri il terminale nella directory principale del progetto ed esegui il comando <code>composer install<\/code>. Installer\u00e0 la libreria HybridAuth versione 2.9.6 sul tuo sistema.<\/p>\n<h3>Configurazione<\/h3>\n<p>Assicurati di configurare correttamente una libreria. Se non riesci a configurarlo correttamente, non otterrai alcun vantaggio da una libreria e finirai nella frustrazione.<\/p>\n<p>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\u00e9 potremmo avere un altro index.php nella stessa posizione.<\/p>\n<p>Apri il file config.php e aggiungi le chiavi e il segreto dell&#8217;applicazione nell&#8217;array dei provider correlati.<\/p>\n<p><a href=\"https:\/\/hybridauth.github.io\/hybridauth\/userguide.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Fare clic qui<\/a> per ottenere l&#8217;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.<\/p>\n<p>Diciamo che dobbiamo specificare i dettagli dell&#8217;applicazione di un Facebook. Per questo, nel config.php per il provider di Facebook il nostro codice \u00e8 il seguente.<\/p>\n<pre><code>return array(\n\u00a0\u00a0\u00a0\u00a0\"base_url\" =&gt; \"YOUR_SITE_URL\/hybridauth.php\",\n\u00a0\u00a0\u00a0\u00a0\"providers\" =&gt; array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/other providers code\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Facebook\" =&gt; array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"enabled\" =&gt; true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"keys\" =&gt; array(\"id\" =&gt; \"YOUR_APP_ID\", \"secret\" =&gt; \"YOUR_APP_SECRET\"),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"trustForwarded\" =&gt; false,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/other providers code\n\u00a0\u00a0\u00a0\u00a0),\n);<\/code><\/pre>\n<p>Assicurati di aver sostituito i segnaposto YOUR_APP_ID e YOUR_APP_SECRET con i valori effettivi.<\/p>\n<p>Abbiamo anche passato il percorso di un file hybridauth.php per base_url.<\/p>\n<p>Quindi, apri il file hybridauth.php e apporta le seguenti modifiche.<\/p>\n<p>Sostituire<\/p>\n<pre><code>require_once( \"Hybrid\/Auth.php\" );\nrequire_once( \"Hybrid\/Endpoint.php\" );\n\u00a0\nHybrid_Endpoint::process();<\/code><\/pre>\n<p>Con<\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\nHybrid_Endpoint::process();<\/code><\/pre>\n<h3>Codice di accesso social effettivo utilizzando la libreria HybridAuth<\/h3>\n<p>A questo punto, abbiamo completato l&#8217;installazione e la configurazione di una libreria. Successivamente, \u00e8 necessario scrivere un codice di accesso social effettivo.<\/p>\n<p>Diciamo che dobbiamo usare l&#8217;accesso social con Facebook, quindi il nostro codice sar\u00e0 come di seguito. Supponiamo che tu abbia sign-in.php nella cartella principale in cui devi scrivere un codice.<\/p>\n<p><strong>sign-in.php<\/strong><\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$hybridauth = new Hybrid_Auth( 'config.php' );\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$adapter = $hybridauth-&gt;authenticate( \"Facebook\" ); \/\/it can be Twitter, Google etc.\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$user_profile = $adapter-&gt;getUserProfile();\n} catch(Exception $e){\n\u00a0\u00a0\u00a0\u00a0echo 'Oops, we ran into an issue! '. $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Il parametro passato al metodo authenticate() deve corrispondere alla chiave del provider nel file config.php. La funzione autentica() controlla se un utente \u00e8 autenticato. Se l&#8217;utente non \u00e8 autenticato, reindirizza alla pagina di accesso di un sito social correlato. Dopo l&#8217;autenticazione riuscita, l&#8217;utente reindirizza nuovamente al nostro file sign-in.php.<\/p>\n<p>Nella riga successiva, recuperiamo i dettagli di un utente autenticato utilizzando la funzione getUserProfile().<\/p>\n<p>Per disconnettere l&#8217;utente collegato al provider scriviamo semplicemente il codice sottostante nel nostro file logout.php.<\/p>\n<p><strong>logout.php<\/strong><\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\nHybrid_Auth::logoutAllProviders();<\/code><\/pre>\n<p>Ci auguriamo che tu capisca come aggiungere l&#8217;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 <a href=\"https:\/\/themewp.inform.click\/it\/sistema-di-accesso-social-utilizzando-laravel-socialite\/\" title=\"Sistema di accesso sociale utilizzando Laravel Socialite\">Sistema di accesso sociale utilizzando Laravel Socialite<\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stai cercando di integrare il social login nel sito PHP? In questo articolo, ti mostriamo come possiamo aggiungere la funzione di accesso social utilizzando HybridAuth Library.<\/p>\n","protected":false},"author":1,"featured_media":21761,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[179,276],"tags":[846],"class_list":["post-23290","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chrome-7","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=23290"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23290\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=23290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=23290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=23290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}