JWTs costituiti da tre parti separate da punti, che sono (.):
Pertanto, un JWT tipicamente è simile al seguente.
xxxxx.yyyyy.zzzzz
Vediamo una breve secondo RFC e this
Header
L'intestazione consiste tipicamente di due parti: il tipo di token, che è JWT, e l'algoritmo di hashing come HMAC SHA256 o RSA.
{
"alg": "HS256",
"typ": "JWT"
}
Payload
La seconda parte del token è il carico utile, che contiene rivendicazioni. I reclami sono affermazioni su un'entità (in genere, l'utente) e ulteriori metadati. Questa è la parte interessante perché all'interno del token possiamo controllare quale appartiene. { "userid": "1234567890", "expiration_date": "2016-05-129" }
Quando si genera un nuovo token possiamo specificare i dati saranno payload contiene in modo che possiamo aggiungere userid per identificare un utente e data di scadenza per verificare se è il momento di chiederne uno nuovo.
Firma
Per creare la parte di firma si deve prendere l'intestazione codificata, il payload codificato, un segreto, l'algoritmo specificato nell'intestazione, e firmare questo. La firma viene utilizzata per verificare che il mittente del JWT sia chi dice di essere e per garantire che il messaggio non sia stato modificato nel modo.
lato Server
Dobbiamo mantenere la nostra chiave segreta nel lato server, quindi, siamo in grado di decifrare un carico utile valida e verificare quale utente appartiene. In questo modo siamo liberi di evitare i token del negozio, perché ogni token memorizza abbastanza dati per convalidare i nostri utenti.
Come rinnovare il token ?: dal lato client
Il processo di generare un rinnovato Token è lo stesso, in modo che il lato client dovrebbe richiedere un servizio di rinnovare (richiesta HTTP come www.myhost.it/renew) e invia il vecchio token per generare quello nuovo. Ricorda che puoi controllare quale utente appartiene quel token, quindi il token di rinnovo dovrebbe contenere lo stesso carico utile ma con data di scadenza diversa.
single sign-on
Possiamo usare JWT con più strategie come single sign-on al fine di garantire un solo utente con stesse credenziali viene registrato allo stesso tempo.
Ho finalmente capito che questa è una domanda stupida. Presto risponderò. – Ricardo
Scriverò una risposta questo fine settimana. – Ricardo