Con OpenID, dovrei mai aggiornare / riautenticare?

0

Sto utilizzando Google OAuth 2.0 per fornire accessi al mio sito (uno strumento interno di rinkydink per altri sviluppatori della mia azienda da utilizzare, quindi la sicurezza non è fondamentale, ma ci sono alcune restrizioni di accesso) Tuttavia, una volta effettuato l'accesso , Non ho bisogno di accedere a qualsiasi altra risorsa Google - Ho appena ricevuto l'email dell'utente e considero l'utente che ha effettuato l'accesso. Come viene fatto in genere? Le opzioni che vedo sono ...

A. Archivia questo accesso in un cookie e non contattare mai più Google (almeno fino a quando il cookie scade o l'utente si disconnette manualmente)

B. Avere un cookie a lungo termine che memorizza una chiave (il server memorizza il codice OAuth) e re-autenticare quando l'utente vuole eseguire un'azione sensibile.

C. Avere un cookie a lungo termine che memorizza una chiave (il server memorizza il codice OAuth) e un cookie di sessione a breve termine che scade quando chiudi il browser. Ogni volta che accedono per la prima volta alla pagina, effettuo nuovamente l'autenticazione una volta e fornisco loro questo cookie di sessione.

    
posta Robert Fraser 25.08.2016 - 07:56
fonte

2 risposte

1

Tipicamente con l'autenticazione basata su token hai due tipi di token:

Token di accesso

Questi sono i token passati per richiedere effettivamente l'accesso alle risorse. Sono di breve durata.

Aggiorna token

Questi sono token usati per ottenere un nuovo token di accesso una volta scaduto. Questi hanno tempi di scadenza lunghi e sono memorizzati in modo sicuro su un sistema.

L'idea alla base di questo, è che i token di accesso saranno utilizzati per garantire l'accesso alle risorse. Scadono in breve tempo, quindi se compromessi, l'accesso al sistema è limitato. I token di aggiornamento devono essere utilizzati solo quando è necessario un nuovo token di accesso, quindi non viaggiare continuamente sul filo. L'enfasi sulla memorizzazione sicura dei token di aggiornamento.

Gestione sessioni

Esistono due metodi che possono essere utilizzati per memorizzare token, archiviazione Web e cookie. Tra i due, la mia preferenza attuale è con i cookie con i flag HttpOnly e Secure set.

    
risposta data 25.08.2016 - 16:21
fonte
1

Suggerirei di adottare lo stesso approccio che avresti se non usassi una terza parte per l'autenticazione: una volta scaduta la sessione, riautentica.

Una volta che l'utente è autenticato, non c'è davvero alcun motivo per contattare nuovamente Google. Non è nemmeno necessario memorizzare access_token dopo averlo utilizzato per accedere alle risorse necessarie per l'autenticazione.

In questo modo, l'unico parametro di cui devi preoccuparti è quanto a lungo dovrebbe durare la sessione. Dipenderà dai tuoi requisiti di sicurezza.

    
risposta data 25.08.2016 - 20:09
fonte

Leggi altre domande sui tag