Sobes.tech
Junior — Middle

Puteți împărtăși experiența dvs. în utilizarea JSON Web Tokens în proiecte?

sobes.tech AI

Răspuns de la AI

În proiectele PHP, am folosit JSON Web Tokens (JWT) pentru implementarea autentificării și autorizării utilizatorilor. JWT permite transmiterea informațiilor despre utilizator într-un mod criptat între client și server fără a fi nevoie să se păstreze o sesiune pe server.

Pașii principali pentru utilizarea JWT:

  1. După autentificarea cu succes, utilizatorul primește un JWT care conține încărcătura utilă (de exemplu, ID-ul utilizatorului, roluri).
  2. Token-ul este semnat cu o cheie secretă pentru a preveni falsificarea.
  3. Clientul salvează token-ul (de exemplu, în localStorage) și îl trimite în antetul Authorization la solicitările ulterioare.
  4. Serverul verifică semnătura token-ului și extrage datele pentru a determina drepturile de acces.

Exemplu de creare a JWT folosind biblioteca firebase/php-jwt:

use Firebase\JWT\JWT;

$payload = [
    'iss' => 'your-domain.com',
    'iat' => time(),
    'exp' => time() + 3600, // durata de 1 oră
    'userId' => 123
];

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

// Pentru verificare:
$decoded = JWT::decode($jwt, $secretKey, ['HS256']);

Utilizarea JWT simplifică scalarea aplicațiilor, deoarece nu necesită stocarea sesiunilor pe server, dar este important să configurați corect durata de valabilitate a token-ului și gestionarea actualizării sale.