2014-12-27 15 views

risposta

6

molte informazioni relative al Web possono essere trovate in un post simile qui: Token Authentication vs. Cookies; Vorrei richiamare alcune differenze "architettonico":

  1. JWTs sono un formato standardizzato contenitore per codificare utente e le informazioni relative cliente in modo sicuro utilizzando "pretese" (mentre il contenuto dei cookie e firma/crittografia sono non standardizzato)
  2. I JWT non sono limitati a presentare informazioni di tipo sessione relative all'utente autenticato stesso; possono anche essere utilizzati per delegare l'accesso ai client che agiscono per conto dell'utente
  3. I JWT consentono un modello di accesso più granulare rispetto ai cookie perché i JWT possono essere limitati in "ambito" (cosa permettono al client di fare) pure come tempo
+0

E le richieste GET da nuove schede? Se si utilizza JWT su un'app Web accessibile tramite browser, è possibile presumere che l'utente potrebbe voler aprire schede diverse (e immettere manualmente l'URL desiderato). In questo caso, non hai modo di leggere il tuo JWT memorizzato prima di fare una richiesta (e iniettarla su un'intestazione, ad esempio). I cookie non hanno questo problema poiché sono inviati in modo nativo dal browser con nuove richieste, anche su nuove schede. Ho fatto una domanda su questo problema: http://stackoverflow.com/questions/30061307/jwt-how-to-handle-get-requests-when-user-opens-a-new-tab – noderman

+0

la premessa è quella all'accesso a un URL senza presentare la JWT corretta, il browser verrebbe reindirizzato a un endpoint specifico (Authorization Server) in cui è possibile ottenere il JWT –

+0

[La generazione di un nuovo JWT annulla il JWT esistente nella scheda originale? Se è così, non puoi farlo senza interrompere il funzionamento della scheda originale] Quindi il ciclo sembra essere: sei già autenticato, la nuova scheda causa un reindirizzamento, dove suppongo che la tua app abbia un codice JS locale solo per ottenere il tuo $ window.localStorage.token (sessionStorage non funziona tra le schede) - questo è necessario: vuoi evitare un nuovo accesso da parte dell'utente ed eventualmente evitare la distruzione di JWT - e poi reindirizzare nuovamente alla risorsa desiderata con JWT iniettato . – noderman

Problemi correlati