Autorizzazione OAuth2 - salva token nei cookie o nella sessione?

7

Sono un principiante della sicurezza. Sto implementando oauth sul mio sito e voglio chiedere dove dovrei salvare il mio token di accesso:

  • cookie
  • sessione (verrà recuperata dal server tramite richiesta Ajax)

Ho backend (restful) e frontend (SPA). Comunicazione solo tra di loro.

A proposito, qual è il tempo di scadenza consigliato per oauth?

    
posta Pleerock 05.02.2014 - 18:00
fonte

3 risposte

3

La memorizzazione del token di accesso nei cookie potrebbe essere vulnerabile ad alcuni attacchi del client (ad esempio, rubare i cookie degli utenti). Utilizza invece la sessione e HTTPS per la comunicazione.

    
risposta data 26.05.2014 - 11:35
fonte
2

A seconda dei diversi flussi che si desidera o si devono utilizzare (codice di autorizzazione, grande implicito, password del proprietario della risorsa o flussi di credenziali del client) potrebbe essere necessario un token di autorizzazione e un token di accesso definitivo. Il token di autorizzazione può essere memorizzato nel database e può avere TTL di più giorni mentre il token di accesso (circa 5 minuti o configurabile) è più breve e può essere memorizzato sul server in una lista accessibile da diversi client (sincronizzazione!). OAuth2 non utilizza la firma e pertanto HTTPS è obbligatorio. Il token non deve essere archiviato come cookie in quanto non lo è per ragioni diverse (cache, vulnerabilità di trasporto, ..). Poiché il token di accesso è collegato all'utente, può essere salvato all'interno della sessione dell'applicazione client.

    
risposta data 07.10.2014 - 10:59
fonte
0

Forse è più semplice usare una libreria che l'abbia gestita correttamente per te.

Controlla questa libreria javascript

    
risposta data 13.02.2014 - 09:21
fonte

Leggi altre domande sui tag