Cómo implementar el inicio de sesión con LinkedIn en un sitio web con PHP
El inicio de sesión social es un término popular hoy en día. Muchos sitios web permiten al usuario iniciar sesión con sus cuentas sociales. Al hacerlo, un usuario no necesita pasar por un proceso de verificación para la creación de una cuenta en su sitio web. También le ahorra crear un sistema de flujo de registro. Los sitios sociales ya hicieron esto y los sitios web pueden confiar en los sitios sociales para la verificación del usuario.
Hay varias redes sociales de inicio de sesión populares en uso como Google, Facebook, Twitter, LinkedIn, etc. En este artículo, estudiamos el inicio de sesión con LinkedIn usando PHP. Si está interesado en el inicio de sesión de Google, consulte nuestro artículo Cómo agregar el inicio de sesión de Google OAuth en un sitio web con PHP.
Crea una aplicación de LinkedIn
Para agregar el inicio de sesión de LinkedIn a su sitio web, primero debe crear la aplicación en su cuenta de LinkedIn. Necesitamos identificación de cliente, secreto de cliente de la aplicación de LinkedIn. También debe configurar la URL de redireccionamiento autorizado en la aplicación.
- Vaya a la red de desarrolladores de LinkedIn.
- Haga clic en el botón ‘Crear aplicación’.
- Complete la información básica en el formulario.
- Agregue
YOUR_DOMAIN_URL/index.php
en el campo Redirigir URL. - Copie el ID de cliente y las claves secretas del cliente.
Por el bien del tutorial, estoy usando un servidor local, así que configuro la URL de redireccionamiento como http://localhost/linkedin/index.php
. Puede ajustar esta URL según sus requisitos.
A continuación, haga clic en la pestaña ‘Productos’. Aquí, de la lista de productos disponibles, elija ‘Iniciar sesión con LinkedIn’. Al seleccionar este producto, pasará a revisión y luego se incluirá como un producto agregado. Esto puede llevar algún tiempo para su revisión. En mi caso, tomó alrededor de 10 minutos.
Instalación de la biblioteca HybridAuth
HybridAuth es un signo social de código abierto en la biblioteca PHP. Con esta biblioteca, puede agregar un inicio de sesión social para uno o varios proveedores como Google, Facebook, Twitter, LinkedIn, etc. Esta biblioteca facilita la vida del desarrollador. Como desarrollador, no necesita preocuparse por manejar el proceso de OAuth. La biblioteca HybridAuth lo hace por nosotros en su núcleo.
Cree un composer.json
archivo en la carpeta raíz del proyecto y agregue el siguiente código en él.
{
"require": {
"hybridauth/hybridauth": "~3.0"
}
}
A continuación, abra la terminal en el directorio raíz de su proyecto y ejecute el comando:
composer install
Cree el config.php
archivo y agregue sus credenciales, el alcance para el inicio de sesión de LinkedIn OAuth y la URL de devolución de llamada.
<?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 );
Asegúrese de reemplazar los marcadores de posición con los valores reales. Pasé la URL de devolución de llamada YOUR_DOMAIN_URL/index.php
que debe ajustar según sus requisitos.
Iniciar sesión con LinkedIn en PHP
Todos nos pusimos manos a la obra. Así que sigamos adelante y creemos 2 archivos index.php
, logout.php
en el directorio raíz de su proyecto. Primero, agregue el código a continuación en el index.php
archivo.
<?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() ;
}
En el código anterior, la biblioteca HybridAuth comprueba si un usuario ha iniciado sesión con LinkedIn. Si no es así, el usuario lo redireccionará a LinkedIn, donde debe autorizar su cuenta con su aplicación. Tras una autorización exitosa, el usuario vuelve a redireccionar al método index.php
y, mediante el uso getUserProfile()
, imprime la información del usuario.
Finalmente, para cerrar la sesión del usuario en la aplicación, debe agregar el siguiente código en un logout.php
archivo.
<?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 comprenda cómo agregar inicio de sesión con LinkedIn en un sitio web con PHP. Comparta sus pensamientos en la sección de comentarios a continuación.
Artículos relacionados
- Cómo agregar el inicio de sesión de Google OAuth en un sitio web con PHP
- Cómo agregar un inicio de sesión de Twitter OAuth en un sitio web con PHP
- Inicio de sesión de Google en Laravel usando Laravel Socialite