Como adicionar login OAuth do Twitter em um site com PHP
Já se foi o tempo em que um usuário precisava preencher o formulário de registro, receber um e-mail com um link de ativação e, em seguida, ativar sua conta. Sites sociais populares como Google, LinkedIn, Twitter fornecem suas APIs por meio das quais os usuários podem fazer login em seu site. Isso economiza tempo para usuários e desenvolvedores e adiciona uma melhor experiência do usuário. Neste artigo, estudamos a adição de login OAuth do Twitter em um site usando PHP.
Você também pode querer ler nossos artigos:
- Como adicionar o login do Google OAuth a um site com PHP
- Como adicionar login com LinkedIn em site com PHP
Obtenha credenciais do Twitter
Sempre que quiser integrar APIs de login social, você precisará obter suas credenciais de API. No Twitter, primeiro você precisa criar seu aplicativo e, em seguida, obter suas chaves.
- Acesse a conta de desenvolvedor do Twitter e crie um novo aplicativo.
- Preencha os campos obrigatórios, como o nome e a descrição do aplicativo.
- Coloque o domínio do seu site no campo Site.
- Defina o URL de retorno como
YOUR_DOMAIN_URL/index.php
. - Depois de se registrar, copie as credenciais do aplicativo (Chave e Segredo do Consumidor) exigidas nas próximas etapas.
Conforme configuramos o URL de retorno de chamada para index.php
arquivo, trataremos do código de redirecionamento neste arquivo. Você pode definir o URL diferente de acordo com seus requisitos.
Configurar Biblioteca HybridAuth
Para integrar o login social, sempre recomendo usar HybridAuth, que é uma biblioteca PHP de login social de código aberto. Usando esta biblioteca, pode-se facilmente adicionar login social ao seu aplicativo. Você não precisa coçar a cabeça com a documentação da API. Basta pegar suas credenciais e HybridAuth fará o resto para você.
Crie um composer.json
arquivo e adicione o código abaixo nele.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Em seguida, execute o comando abaixo que instalará a biblioteca HybridAuth em seu aplicativo.
composer install
Crie um config.php
arquivo e escreva o código abaixo nele. Também estamos adicionando credenciais do Twitter no arquivo de configuração.
<?php
require_once 'vendor/autoload.php';
$config = [
'callback' => 'YOUR_DOMAIN_URL/index.php',
'keys' => ['key' => 'TWITTER_CONSUMER_API_KEY', 'secret' => 'TWITTER_CONSUMER_API_SECRET_KEY'],
'authorize' => true
];
$adapter = new HybridauthProviderTwitter( $config );
Login OAuth do Twitter no site
Concluímos todas as configurações básicas. Agora, podemos prosseguir e adicionar o login com a funcionalidade do Twitter no site. Crie um arquivo chamado index.php
e adicione o código abaixo a ele.
<?php
require_once 'config.php';
try {
$adapter->authenticate();
$userProfile = $adapter->getUserProfile();
print_r($userProfile);
echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
echo $e->getMessage() ;
}
Execute a URL YOUR_DOMAIN_URL/index.php
no navegador, o código no arquivo primeiro verifica se o usuário está autenticado com ‘Twitter’ ou não. Caso contrário, ele redireciona para a página de login do Twitter. O usuário deve completar sua autenticação. Após a autenticação, o usuário volta ao index.php
. Depois disso, podemos obter as informações do usuário usando o método getUserProfile()
.
Por fim, logout.php
devemos desconectar o adaptador (Twitter) que desconecta automaticamente o usuário do aplicativo.
<?php
require_once 'config.php';
try {
if ($adapter->isConnected()) {
$adapter->disconnect();
echo 'Logged out the user';
echo '<p><a href="index.php">Login</a></p>';
}
}
catch( Exception $e ){
echo $e->getMessage() ;
}
É isso! Espero que você saiba como adicionar um login OAuth do Twitter no site com PHP. Por favor, compartilhe suas idéias ou sugestões na seção de comentários abaixo.