Creare un JWT in PHP

Per quelli di voi che non hanno usato i token Web JSON, possiamo dire che si tratta di un sistema di autenticazione basato su token. Il token può inoltre contenere delle informazioni, non sensibili, tramite un payload JSON codificato.

I vantaggi principali dei token Web JSON sono duplici: non è necessario utilizzare sessioni o cookie per mantenere l’autenticazione e non è necessario chiamare costantemente il database per le informazioni dell’utente in quanto possono essere archiviate nel payload del token.

Ogni token è suddiviso in tre parti e ogni parte è separata da un punto:

  • Header: contiene informazioni sul tipo di token, generalmente JWT e sull’algoritmo di hashing utilizzato, ad esempio HMAC SHA256 o RSA.
  • Payload: contiene tutte le informazioni che si desidera trasferire all’utente, ad esempio l’identificatore utente.
  • Signature: protegge il token ed è un hash dell’intestazione e del payload codificati, insieme a una chiave.

Quando viene ricevuto un token, sarà necessario convalidare la firma con la chiave concordata. Se qualcuno dovesse manomettere l’intestazione o il payload, la firma non corrisponderebbe e l’autenticazione fallirebbe.

Con queste poche righe è possibile creare un token JWT in PHP:

enjoy!

Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂



Taggato su: ,

Commenta