Ciao, grazie a te! Aggiungo anche:
In questo script il token viene generato automaticamente dal middleware a ogni richiesta ma questo comportamento può essere personalizzato a piacimento. Per esempio, il middleware potrebbe attendere che il token sia prossimo alla scadenza, prima di emetterne uno nuovo. Inoltre, potrebbe anche estrarre i dati dell'utente dal database, in modo da emettere un token con claim aggiornati. Questo è particolarmente importante perché se un amministratore modifica il ruolo dell'utente, è opportuno che nel prossimo token che viene emesso sia inserito il nuovo ruolo.
I claim contenuti nel token sono in chiaro ma questo non è un problema perché contiene anche la firma digitale che può essere verificata in qualsiasi momento per provarne l'integrità. L'applicazione client quindi può leggere i claim e visualizzarli nella UI, se lo ritiene opportuno. In un'applicazione Angular, per esempio, lo username dell'utente loggato può essere letto direttamente dal token e questo ci evita di dover fare una richiesta al server solo per ottenere quel valore.
Stessa cosa si può fare anche in un'applicazione ASP.NET Core MVC: in questo caso, il token JWT può essere veicolato in un cookie, letto da javascript e i claim trovati in esso possono essere stampati in appositi punti della pagina. Il vantaggio di questo approccio è che, lato server, la header del sito sarà ora priva di qualsiasi dato specifico dell'utente e perciò potrà essere messa in cache senza effetti collaterali (come
suggerito da Thijs Feryn allo scorso Codemotion).
Modificato da BrightSoul il 17 aprile 2018 22.13 -