Vedo due possibili vettori di attacco.
- intercettazioni
- vulnerabilità di cross site scripting nella tua applicazione web
Quando il token non viene trasmesso tramite HTTPS, può essere intercettato e utilizzato da un intercettatore. Per evitare ciò, applica https per tutte le comunicazioni.
Quando il documento HTML include dati di terze parti, è necessario essere stanchi delle iniezioni di XSS. Quando un utente malintenzionato è in grado di importare codice JavaScript nella pagina che viene eseguita, può accedere a qualsiasi dato in qualsiasi applicazione JavaScript incorporata nel documento HTML e inviarlo a qualsiasi altro sito Web. Per evitare che ciò accada, assicurati che tutte le tue applicazioni web disinfettino correttamente le stringhe fornite dall'utente. Potresti anche voler informare i tuoi utenti che il tuo sito web non ha funzioni nascoste che possono essere sbloccate inserendo alcuni codici criptici nella console degli sviluppatori ( come fa Facebook, per esempio ).
Ricorda inoltre che non puoi impedire all'utente di scoprire il proprio token. Quando devi proteggere il token dall'essere scoperto dall'utente a cui è stato rilasciato, dovrai trovare una soluzione diversa.