Ho eseguito abbastanza bene l'implementazione di Angular SPA e JWT, ma ho sempre difficoltà a delegare un nuovo token.Strategia di base per il token di aggiornamento delegato per ottenere il nuovo JWT
La mia strategia di base è stata:
- In autenticazione intercettore ottenere Auth errore => delegato con token di aggiornamento, sostituire JWT, altrimenti il logout
che non ha funzionato, perché più chiamate asincrone avrebbero sparato e si otterrebbe la funzione delegate, ma il token di aggiornamento sarebbe stato utilizzato per il secondo e quello non funzionerà, quindi l'utente verrebbe disconnesso.
- Prima di ogni altra cosa: Controllare scadenza del token, se scaduto => delegato con token di aggiornamento, sostituire JWT, altrimenti il logout
che aveva un problema simile in cui la prima chiamata noterebbe che era scaduto, e andare a prendere il nuovo token, ma dal momento che è Async, il resto delle chiamate potrebbe sparare e fallire ecc.
Qual è la strategia di base qui. Sento che la prima cosa che l'app dovrebbe fare è controllare il JWT e delegarne uno nuovo se è un token non valido, ma in quel caso non dovrebbe essere asincrono. Non riesco a eliminare il token di aggiornamento in uso?
Qualsiasi aiuto sarebbe grande, sento che questo è l'ultimo grande buco nella mia comprensione. Grazie!
controllare questo https://github.com/caolan/async –