Como implementar login com LinkedIn em site com PHP
Login social é um termo popular hoje em dia. Muitos sites permitem que o usuário faça login usando suas contas sociais. Ao fazer isso, um usuário não precisa passar por um processo de verificação para a criação de conta em seu site. Também evita que você crie um sistema de fluxo de inscrição. Os sites sociais já fizeram isso e os sites podem contar com os sites sociais para verificação do usuário.
Existem várias redes sociais de login populares em uso, como Google, Facebook, Twitter, LinkedIn, etc. Neste artigo, estudamos o login com o LinkedIn usando PHP. Se você estiver interessado no login do Google, consulte nosso artigo Como adicionar o login do Google OAuth em um site com PHP.
Crie um aplicativo do LinkedIn
Para adicionar login do LinkedIn ao seu site, primeiro você precisa criar o aplicativo na sua conta do LinkedIn. Precisamos do ID do cliente, segredo do cliente do aplicativo LinkedIn. Você também precisa definir o URL de redirecionamento autorizado no aplicativo.
- Vá para LinkedIn Developer Network.
- Clique no botão ‘Criar aplicativo’.
- Preencha as informações básicas do formulário.
- Adicione
YOUR_DOMAIN_URL/index.php
no campo URLs de redirecionamento. - Copie o ID do cliente e as chaves secretas do cliente.
Para o bem do tutorial, estou usando um servidor local, portanto, defino o URL de redirecionamento como http://localhost/linkedin/index.php
. Você pode ajustar este URL de acordo com sua necessidade.
Em seguida, clique na guia ‘Produtos’. Aqui, na lista de produtos disponíveis, escolha ‘Sign In with LinkedIn’. Ao selecionar este produto, ele irá para a revisão e então incluído como um produto adicionado. Isso pode levar algum tempo para revisão. No meu caso, demorou cerca de 10 minutos.
Instalação da Biblioteca HybridAuth
HybridAuth é um sinal social de código aberto na biblioteca PHP. Usando esta biblioteca, você pode adicionar um login social para um ou vários provedores como Google, Facebook, Twitter, LinkedIn etc. Esta biblioteca torna a vida do desenvolvedor mais fácil. Como desenvolvedor, você não precisa se preocupar em lidar com o processo OAuth. A biblioteca HybridAuth faz isso por nós em seu núcleo.
Crie um composer.json
arquivo na pasta raiz do projeto e adicione o código abaixo nele.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
Em seguida, abra o terminal no diretório raiz do seu projeto e execute o comando:
composer install
Crie o config.php
arquivo e adicione suas credenciais, escopo para login do LinkedIn OAuth e o URL de retorno de chamada.
<?php
require_once 'vendor/autoload.php';
$config = [
'callback' => 'YOUR_DOMAIN_URL/index.php',
'keys' => [
'id' => 'YOUR_CLIENT_ID',
'secret' => 'YOUR_CLIENT_SECRET'
],
'scope' => 'r_liteprofile r_emailaddress',
];
$adapter = new HybridauthProviderLinkedIn( $config );
Certifique-se de substituir os marcadores de posição pelos valores reais. Passei o URL de retorno de acordo com o YOUR_DOMAIN_URL/index.php
qual você precisa ajustar de acordo com sua exigência.
Login com LinkedIn em PHP
Estamos todos prontos com as configurações. Então, vamos criar 2 arquivos index.php
, logout.php
no diretório raiz do seu projeto. Primeiramente, adicione o código abaixo no index.php
arquivo.
<?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() ;
}
No código acima, a biblioteca HybridAuth verifica se um usuário está conectado ao LinkedIn. Se não for, o usuário redirecionará para o LinkedIn, onde precisará autorizar sua conta com o seu aplicativo. Na autorização bem-sucedida, o usuário redirecionamento de volta para o index.php
e usando getUserProfile()
método imprime as informações do usuário.
Finalmente, para desconectar o usuário do aplicativo, você precisa adicionar o código abaixo em um logout.php
arquivo.
<?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() ;
}
Espero que você entenda como adicionar login com LinkedIn em um site com PHP. Por favor, compartilhe suas idéias na seção de comentários abaixo.
Artigos relacionados
- Como adicionar o login do Google OAuth a um site com PHP
- Como adicionar login OAuth do Twitter em um site com PHP
- Login do Google no Laravel usando Laravel Socialite