{"id":26581,"date":"2021-04-27T16:45:00","date_gmt":"2021-04-27T13:45:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26581"},"modified":"2021-10-18T04:21:09","modified_gmt":"2021-10-18T01:21:09","slug":"login-social-em-php-usando-a-biblioteca-hybridauth","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/login-social-em-php-usando-a-biblioteca-hybridauth\/","title":{"rendered":"Login social em PHP usando a biblioteca HybridAuth"},"content":{"rendered":"<p>A integra\u00e7\u00e3o do recurso de login social no site \u00e9 uma tend\u00eancia hoje em dia. Este recurso facilita o processo de login e registro do usu\u00e1rio. Se um usu\u00e1rio estiver pronto para usar seu perfil social em seu site, ele n\u00e3o precisar\u00e1 preencher seu formul\u00e1rio de registro, ative sua conta.<\/p>\n<p>Os sites sociais tamb\u00e9m n\u00e3o fornecem informa\u00e7\u00f5es privadas de um usu\u00e1rio para o site. Em vez disso, eles fornecem apenas detalhes b\u00e1sicos como nome, sexo, identidade social (em um site social espec\u00edfico), e-mail. O aplicativo da web pode solicitar mais detalhes de um usu\u00e1rio. Por\u00e9m, o usu\u00e1rio deve dar acesso a informa\u00e7\u00f5es extras. Depende totalmente do usu\u00e1rio dar acesso a mais informa\u00e7\u00f5es ou n\u00e3o. Alguns sites sociais como o Twitter n\u00e3o fornecem um e-mail de um usu\u00e1rio. A quest\u00e3o \u00e9 que \u00e9 seguro usar seu perfil de site social para intera\u00e7\u00e3o com um site.<\/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=\"Login social em PHP usando a biblioteca HybridAuth\" ><\/a><\/p>\n<p>Para um desenvolvedor, n\u00e3o \u00e9 simples escrever um c\u00f3digo para login social. Primeiro, eles precisam ler a documenta\u00e7\u00e3o fornecida por sites sociais como Facebook, Twitter. Cada site social tem sua pr\u00f3pria biblioteca e maneira de integrar o recurso de login social.<\/p>\n<p>Por exemplo, voc\u00ea deseja adicionar um login social com Facebook e Twitter. Nesse caso, um desenvolvedor precisa escrever um c\u00f3digo diferente para ambos os sites sociais, conforme fornecido por eles em sua documenta\u00e7\u00e3o oficial.<\/p>\n<p>N\u00e3o \u00e9 f\u00e1cil para um desenvolvedor desenvolver um c\u00f3digo se voc\u00ea tiver mais de um site social para interagir.<\/p>\n<p>Gra\u00e7as a <a href=\"https:\/\/hybridauth.github.io\/hybridauth\/index.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">HybridAuth<\/a> &#8211; signo social de c\u00f3digo aberto na biblioteca PHP. A equipe HybridAuth torna a vida de nossos desenvolvedores mais f\u00e1cil.<\/p>\n<p>Usando esta biblioteca, n\u00e3o precisamos ler sobre a documenta\u00e7\u00e3o de sites sociais sobre como integrar o login social no site. O que todos n\u00f3s precisamos fazer \u00e9 &#8211; instalar e configurar a biblioteca HybridAuth corretamente e registrar um aplicativo em sites sociais (o que \u00e9 necess\u00e1rio mesmo se n\u00e3o usarmos a biblioteca HybridAuth).<\/p>\n<h3>Instala\u00e7\u00e3o<\/h3>\n<p>Para instalar a biblioteca HybridAuth, o uso do composer \u00e9 recomendado. Se voc\u00ea n\u00e3o tiver o composer instalado em seu sistema, poder\u00e1 obt\u00ea-lo em seu <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">site oficial<\/a>.<\/p>\n<p>Crie um arquivo composer.json no diret\u00f3rio raiz do seu projeto e coloque o c\u00f3digo abaixo nele.<\/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>Passamos &#8220;2.9.6&quot; porque, no momento em que escrev\u00edamos este artigo, era a <a href=\"https:\/\/github.com\/hybridauth\/hybridauth\/releases\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">vers\u00e3o est\u00e1vel mais recente<\/a> da biblioteca HybridAuth.<\/p>\n<p>Abra o terminal no diret\u00f3rio raiz do projeto e execute o comando <code>composer install<\/code>. Ele instalar\u00e1 a vers\u00e3o 2.9.6 da biblioteca HybridAuth em seu sistema.<\/p>\n<h3>Configura\u00e7\u00e3o<\/h3>\n<p>Certifique-se de estar configurando uma biblioteca corretamente. Se voc\u00ea n\u00e3o conseguir configur\u00e1-lo corretamente, n\u00e3o obter\u00e1 os benef\u00edcios de uma biblioteca e acabar\u00e1 frustrado.<\/p>\n<p>Copie os 2 arquivos config.php e index.php do diret\u00f3rio vendorhybridauthhybridauthhybridauth e coloque no diret\u00f3rio raiz de um projeto. Renomeie o arquivo index.php para hybridauth.php, pois podemos ter outro index.php no mesmo local.<\/p>\n<p>Abra o arquivo config.php e adicione as chaves e o segredo do aplicativo na matriz de provedores relacionados.<\/p>\n<p><a href=\"https:\/\/hybridauth.github.io\/hybridauth\/userguide.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Clique aqui<\/a> para obter a lista de todos os provedores sociais suportados pelo HybridAuth. Tamb\u00e9m encontramos provedores e provedores adicionais na pr\u00f3pria biblioteca instalada. Para ver os provedores, acesse vendorhybridauthhybridauthhybridauthHybridProviders e, para provedores adicionais, verifique o diret\u00f3rio vendorhybridauthhybridauthadditional-Providers.<\/p>\n<p>Digamos que precisamos especificar os detalhes do aplicativo de um Facebook. Para isso, no arquivo config.php do provedor do Facebook nosso c\u00f3digo \u00e9 o seguinte.<\/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>Certifique-se de ter substitu\u00eddo os espa\u00e7os reservados YOUR_APP_ID e YOUR_APP_SECRET pelos valores reais.<\/p>\n<p>Tamb\u00e9m passamos o caminho de um arquivo hybridauth.php para base_url.<\/p>\n<p>Em seguida, abra o arquivo hybridauth.php e fa\u00e7a as seguintes altera\u00e7\u00f5es.<\/p>\n<p>Substituir<\/p>\n<pre><code>require_once( \"Hybrid\/Auth.php\" );\nrequire_once( \"Hybrid\/Endpoint.php\" );\n\u00a0\nHybrid_Endpoint::process();<\/code><\/pre>\n<p>Com<\/p>\n<pre><code>require 'vendor\/autoload.php';\n\u00a0\nHybrid_Endpoint::process();<\/code><\/pre>\n<h3>C\u00f3digo de login social real usando a biblioteca HybridAuth<\/h3>\n<p>Nesta fase, conclu\u00edmos a instala\u00e7\u00e3o e configura\u00e7\u00e3o de uma biblioteca. Em seguida, precisamos escrever um c\u00f3digo de login social real.<\/p>\n<p>Digamos que precisamos usar o login social com o Facebook, ent\u00e3o nosso c\u00f3digo ser\u00e1 o seguinte. Presumimos que voc\u00ea tenha sign-in.php na pasta raiz onde precisa escrever um c\u00f3digo.<\/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>O par\u00e2metro passado para o m\u00e9todo authenticate() deve corresponder \u00e0 chave do provedor no arquivo config.php. A fun\u00e7\u00e3o authenticate () verifica se um usu\u00e1rio est\u00e1 autenticado. Se o usu\u00e1rio n\u00e3o for autenticado, ele redireciona para a p\u00e1gina de login de um site social relacionado. Ap\u00f3s a autentica\u00e7\u00e3o bem-sucedida, o usu\u00e1rio redireciona novamente para o nosso arquivo sign-in.php.<\/p>\n<p>Na pr\u00f3xima linha, buscamos os detalhes de um usu\u00e1rio autenticado usando a fun\u00e7\u00e3o getUserProfile ().<\/p>\n<p>Para desconectar o usu\u00e1rio anexado ao provedor, simplesmente escrevemos o c\u00f3digo abaixo em nosso arquivo 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>Esperamos que voc\u00ea entenda como adicionar script de login social em PHP usando a biblioteca HybridAuth. Se voc\u00ea tiver alguma d\u00favida ou sugest\u00e3o, deixe um coment\u00e1rio abaixo. Voc\u00ea tamb\u00e9m pode gostar de ler nosso artigo <a href=\"https:\/\/themewp.inform.click\/pt-pt\/sistema-de-login-social-usando-laravel-socialite\/\" title=\"Sistema de login social usando o Laravel Socialite\">Sistema de login social usando o Laravel Socialite<\/a>.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea est\u00e1 procurando integrar o login social no site PHP? Neste artigo, mostramos como podemos adicionar o recurso de login social usando a Biblioteca HybridAuth.<\/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":[142,278],"tags":[848],"class_list":["post-26581","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sem-categoria","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/26581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=26581"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/26581\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/21761"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=26581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=26581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=26581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}