image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Giuliano Dias
Giuliano Dias26/11/2024 16:45
Compartilhe

JWT Descomplicado: Use Tokens para Simplificar Autenticação no PHP

  • #PHP
  • #JWT

O que é JWT

JWT (JSON Web Token) é um padrão de token compacto e seguro usado para autenticação e transmissão de informações entre sistemas. Ele é composto por três partes: Header, Payload e Signature, codificados em Base64. O resultado é um token que pode ser validado e usado para confirmar identidades de forma prática.

image

O JWT é perfeito para autenticação de usuários em APIs. Ele permite que o servidor confirme quem o cliente é sem precisar armazenar informações de sessão no backend. É ideal para sistemas stateless, onde escalabilidade e performance são prioridades. Além disso, ele pode transportar informações adicionais, como permissões de usuário, de forma segura.

Exemplo Prático de Uso do JWT no PHP

Exemplo de como utlizar o JWT com a biblioteca firebase/php-jwt:

require 'vendor/autoload.php';

use Firebase\JWT\JWT;
use Firebase\JWT\Key;


$chave= "minha_chave_secreta";
$payload = [
  "iss" => "http://meusistema.com",
  "iat" => time(),
  "exp" => time() + 3600,
  "user_id" => 123
];

$jwt = JWT::encode($payload, $key, 'HS256');

try {
  $decoded = JWT::decode($jwt, new Key($key, 'HS256'));
  echo "Usuário ID: " . $decoded->user_id;
} catch (Exception $e) {
  echo "Token inválido: " . $e->getMessage();
}

Basicamente criamos um token, passando nossa chave secreta gerada pela biblioteca, carregamos o payload com as configuração de url, tempo de expiração e o id do usuário a ser identificado. Com este token, o usuário tem permissão de acessar certas rotas da API.

Por que utilizar JWT?

Com o JWT, você consegue autenticar usuários sem armazenar nada no backend, tornando o sistema mais escalável. É ideal para SPAs (Single Page Applications) e APIs RESTful. Além disso, ele funciona muito bem com rotas protegidas, garantindo que apenas usuários autenticados acessem os recursos.

Casos de uso do JWT

- Autenticar usuário

- Controle de acesso de rotas com permissões

- Sistemas SPAs, geralmente utilizando frameworks como Vue e React, autenticando sem precisar termos sessões e sem recarregamentos desnecessários de tela.

- Comunicação entre microserviços, reduz a necessidade de armazenar dado em um banco específico para validar

- Login social, para logar com conta google, facebook e entre outros

JWT é uma solução indispensável para quem quer construir APIs modernas e seguras, escaláveis e performáticas. Gostou? Me segue!

REDES SOCIAIS

Github: https://github.com/GiulianoCriscuoli

LinkedIn: https://www.linkedin.com/in/giuliano-criscuoli/

Instagram: @southlaser

Compartilhe
Comentários (0)