✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Login social em PHP usando a biblioteca HybridAuth

28

A integração do recurso de login social no site é uma tendência hoje em dia. Este recurso facilita o processo de login e registro do usuário. Se um usuário estiver pronto para usar seu perfil social em seu site, ele não precisará preencher seu formulário de registro, ative sua conta.

Os sites sociais também não fornecem informações privadas de um usuário para o site. Em vez disso, eles fornecem apenas detalhes básicos como nome, sexo, identidade social (em um site social específico), e-mail. O aplicativo da web pode solicitar mais detalhes de um usuário. Porém, o usuário deve dar acesso a informações extras. Depende totalmente do usuário dar acesso a mais informações ou não. Alguns sites sociais como o Twitter não fornecem um e-mail de um usuário. A questão é que é seguro usar seu perfil de site social para interação com um site.

Login social em PHP usando a biblioteca HybridAuth

Para um desenvolvedor, não é simples escrever um código para login social. Primeiro, eles precisam ler a documentação fornecida por sites sociais como Facebook, Twitter. Cada site social tem sua própria biblioteca e maneira de integrar o recurso de login social.

Por exemplo, você deseja adicionar um login social com Facebook e Twitter. Nesse caso, um desenvolvedor precisa escrever um código diferente para ambos os sites sociais, conforme fornecido por eles em sua documentação oficial.

Não é fácil para um desenvolvedor desenvolver um código se você tiver mais de um site social para interagir.

Graças a HybridAuth – signo social de código aberto na biblioteca PHP. A equipe HybridAuth torna a vida de nossos desenvolvedores mais fácil.

Usando esta biblioteca, não precisamos ler sobre a documentação de sites sociais sobre como integrar o login social no site. O que todos nós precisamos fazer é – instalar e configurar a biblioteca HybridAuth corretamente e registrar um aplicativo em sites sociais (o que é necessário mesmo se não usarmos a biblioteca HybridAuth).

Instalação

Para instalar a biblioteca HybridAuth, o uso do composer é recomendado. Se você não tiver o composer instalado em seu sistema, poderá obtê-lo em seu site oficial.

Crie um arquivo composer.json no diretório raiz do seu projeto e coloque o código abaixo nele.

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

Passamos “2.9.6" porque, no momento em que escrevíamos este artigo, era a versão estável mais recente da biblioteca HybridAuth.

Abra o terminal no diretório raiz do projeto e execute o comando composer install. Ele instalará a versão 2.9.6 da biblioteca HybridAuth em seu sistema.

Configuração

Certifique-se de estar configurando uma biblioteca corretamente. Se você não conseguir configurá-lo corretamente, não obterá os benefícios de uma biblioteca e acabará frustrado.

Copie os 2 arquivos config.php e index.php do diretório vendorhybridauthhybridauthhybridauth e coloque no diretório raiz de um projeto. Renomeie o arquivo index.php para hybridauth.php, pois podemos ter outro index.php no mesmo local.

Abra o arquivo config.php e adicione as chaves e o segredo do aplicativo na matriz de provedores relacionados.

Clique aqui para obter a lista de todos os provedores sociais suportados pelo HybridAuth. Também encontramos provedores e provedores adicionais na própria biblioteca instalada. Para ver os provedores, acesse vendorhybridauthhybridauthhybridauthHybridProviders e, para provedores adicionais, verifique o diretório vendorhybridauthhybridauthadditional-Providers.

Digamos que precisamos especificar os detalhes do aplicativo de um Facebook. Para isso, no arquivo config.php do provedor do Facebook nosso código é o seguinte.

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

Certifique-se de ter substituído os espaços reservados YOUR_APP_ID e YOUR_APP_SECRET pelos valores reais.

Também passamos o caminho de um arquivo hybridauth.php para base_url.

Em seguida, abra o arquivo hybridauth.php e faça as seguintes alterações.

Substituir

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

Com

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

Código de login social real usando a biblioteca HybridAuth

Nesta fase, concluímos a instalação e configuração de uma biblioteca. Em seguida, precisamos escrever um código de login social real.

Digamos que precisamos usar o login social com o Facebook, então nosso código será o seguinte. Presumimos que você tenha sign-in.php na pasta raiz onde precisa escrever um código.

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

O parâmetro passado para o método authenticate() deve corresponder à chave do provedor no arquivo config.php. A função authenticate () verifica se um usuário está autenticado. Se o usuário não for autenticado, ele redireciona para a página de login de um site social relacionado. Após a autenticação bem-sucedida, o usuário redireciona novamente para o nosso arquivo sign-in.php.

Na próxima linha, buscamos os detalhes de um usuário autenticado usando a função getUserProfile ().

Para desconectar o usuário anexado ao provedor, simplesmente escrevemos o código abaixo em nosso arquivo logout.php.

logout.php

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

Esperamos que você entenda como adicionar script de login social em PHP usando a biblioteca HybridAuth. Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo. Você também pode gostar de ler nosso artigo Sistema de login social usando o Laravel Socialite.

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação