JWT tokens contiene attestazioni, che sono dichiarazioni sull'argomento (ad esempio l'utente che ha effettuato l'accesso). Queste dichiarazioni possono essere come nome, email, ruoli, ecc. I token JWT sono firmati digitalmente e non vulnerabili agli attacchi CSRF.
Queste due caratteristiche assicurano che il servizio che riceve il token non debba tornare al server di autenticazione di emissione per verificare la validità del token o ottenere informazioni sull'argomento.
Ciò aumenta la capacità di un sistema che utilizza token JWT di ridimensionarsi in modo significativo. I token JWT richiedono un canale di trasporto sicuro (HTTPS).
Lo svantaggio di questo è che i token non possono essere revocati (poiché non esiste un server centrale che protegga questi token). Ecco perché i token hanno in genere una vita breve.
I token in possesso di un session id d'altra parte devono contattare il server di autenticazione per convalidare il token (di solito ricerca del database) e recuperare informazioni sull'argomento (un'altra ricerca nel database).
La convalida di HMAC tokens richiede la conoscenza della chiave segreta utilizzata per generare il token. In genere il servizio di ricezione (la tua API) dovrà contattare il server di autenticazione in quanto quel server è dove viene conservato il segreto.
I token HMAC e gli ID di sessione sono in genere memorizzati nei cookie. I cookie non possono essere utilizzati per le chiamate di servizio tra domini e devono essere protetti dagli attacchi CSRF.
Ciao Deibys, ho la stessa domanda, hai trovato una risposta convincente e quale approccio hai applicato alla fine? grazie –