Curso de PHP | 21. Composer con JWT

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.

En esta lección aprenderemos a utilizar Composer para manejar dependencias en PHP y generar JSON Web Tokens (JWT) con la biblioteca firebase/php-jwt. Los JWT se usan para la autenticación segura en aplicaciones web.

Instalación de Composer

Composer es un gestor de dependencias para PHP. Si no lo tienes instalado, puedes descargarlo desde getcomposer.org. Luego, en la terminal, navega a tu proyecto y ejecuta:

composer require firebase/php-jwt

Esto descargará la librería firebase/php-jwt y generará el archivo vendor/autoload.php, que nos permitirá cargar automáticamente las clases necesarias.

Código de JWT

Una vez instalada la librería, podemos generar un JWT con el siguiente código:

<?php
//Cargamos los módulos de Composer
require __DIR__ . '/vendor/autoload.php';
// A continuación, ya podremos usar Composer
use \Firebase\JWT\JWT;

$token = array (
  'sub' => '1234567890',
  'name' => 'John Doe',
  'admin' => true,
  'jti' => '79f6c158-7c50-4943-b2dd-e6817f3ee274',
  'iat' => 1571252215,
  'exp' => 1571255815,
);

$jwt = JWT::encode($token, "secret");
echo $jwt;
?>

Explicación del código:

  1. Cargamos Composer con require __DIR__ . '/vendor/autoload.php'; para importar las dependencias.
  2. Usamos la clase JWT desde firebase/php-jwt.
  3. Creamos un array $token con la información del usuario y metadatos importantes:
    • sub: Identificador del usuario.
    • name: Nombre del usuario.
    • admin: Indica si el usuario es administrador.
    • jti: ID único del token.
    • iat: Fecha de emisión del token.
    • exp: Fecha de expiración del token (debe estar en formato UNIX timestamp).
  4. Generamos el JWT usando JWT::encode($token, "secret");. La clave "secret" es la clave secreta utilizada para firmar el token.
  5. Mostramos el JWT generado, que será un string codificado en Base64.

Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.