Ho un'API da proteggere. Ci saranno potenzialmente due tipi di consumatori di questa API: la nostra applicazione per singola pagina e i servizi di terze parti che si integreranno con essa.
Ho letto che in generale i cookie non sono preferiti per le API REST, è meglio usare i campi di intestazione. Forse questa è solo una convenzione.
I cookie sicuri sono il posto migliore per conservare il token di autenticazione in una SPA. Impedisce loro di essere ottenuti da un attacco di script tra siti. Inoltre, se la SPA apre una nuova finestra / scheda, il sessionStorage non scorre attraverso, causando di nuovo l'accesso dell'utente. Puoi utilizzare localStorage, ma non è una buona idea conservare i token di autenticazione lì, poiché persiste.
Devo fare in modo che il filtro di autenticazione sul lato del server accetti un cookie o un campo di intestazione? Prova prima il cookie, e se non c'è, prova il campo dell'intestazione? I cookie verrebbero utilizzati dalle SPA e i campi di intestazione da altri utenti API. Oppure, sarebbe meglio utilizzare un solo modo per trasmettere il token di autenticazione?