Inicio » Blog » Crear tu propio token con json web token y slim Framework

Crear tu propio token con json web token y slim Framework

En este artículo voy a mostrar cómo implementar JSON Web Token (JWT, para abreviar) en el slim Framework. El slim Framework es uno de los marcos de desarrollo más ligeros que suelo utilizar en casi todos mis proyectos web.

Utilizo el slim Framework para crear API, ya que es simple y fácil de usar para crear tu propia API. Lo hace muy interesante para pequeños proyectos, sin tantas complicaciones como otros marcos como Laravel y Symfony, que son mucho más complejos y completos para proyectos grandes. Si quiere saber más sobre el slim Framework, puede visitar la página web https://www.slimframework.com/, donde encontrará toda la información y documentación sobre este maravilloso framework.

¿Qué son los JSON Web Tokens?

No me extenderé mucho explicando JWT ni para qué se utiliza, ya que hay demasiados tutoriales y artículos al respecto. Puede informarse en Wikipedia si lo desea: Signature. Sin embargo, voy a ser breve en cuanto a cómo funciona JWT. JWT se utilizan comúnmente para la autenticación y para proteger las rutas que necesitan acceso mediante un token. Un token de JWT consta de tres partes: (header, Payload, Signature).

  • header: describe el tipo de token y el algoritmo utilizado para firmarlo.
  • Payload: contiene la información del usuario, como su identificador, fecha de vencimiento y roles, o cualquier información que queramos incluir en la carga útil.
  • Signature: es una combinación de la clave secreta y la carga útil que se utiliza para verificar la autenticidad del token y firmarlo.

Un token JWT tiene este aspecto en base64url, concatenándose ambas partes con un punto como separador:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsb2dnZWRJbkFzIjoiYWRtaW4iLCJpYXQiOjE0MjI3Nzk2Mzh9.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI

Si no fijamos bien tenemos 3 partes separado por el signo de un punto. Que sería header. Payload. Signature

El token se puede enviar por la URL .HTML y HTTP o por encabezado Bearer.
A continuación, te muestro cómo implementar un simple login y verificación de tokens en una aplicación Slim.

Instalar la dependencia necesaria en tu slim 4.

Para crear los tokens necesitamos instalar alguna dependencia mediante composer

composer require firebase/php-jwt
composer require jimtools/jwt-auth

Dentro de nuestro proyecto de nuestra instalación de slimphp creamos una carpeta llamada config y dentro de esta carpeta creamos los siguientes fichero.

bootstrap.php
container.php
middleware.php
routes.php
Settings.php

ALGO UNA PAUSA Y CONTINUAREMOS PARA ESTE SABADO 27/06/2024

Deja un comentario

Scroll al inicio