Dovremmo conservare i JWT nel database?

2

Durante la creazione / assegnazione dei JWT agli utenti, dovremmo anche archiviarli nei nostri database?

I negativi / gli svantaggi dell'archiviazione dei token nel database sarebbero, che tutti i dati nel payload del token JWT sono già memorizzati nel database, quindi memorizzare il token memorizzerà i dati ridondanti, inoltre la verifica dei JWT avviene attraverso le chiavi di firma che non cambiano per un periodo di tempo più lungo ma

I positivi / pro che posso vedere di memorizzare il token JWT nel nostro database sarebbero che anche dopo aver assegnato il token avremo il potere di invalidare o disattivare i token esistenti anche prima della scadenza.

One of the use-cases for storing the tokens would be that tokens will be invalidated when there is an update in the auth scheme and all the old tokens have to be invalidated.

    
posta Anshul Sahni 25.06.2018 - 15:19
fonte

2 risposte

6

The positives/pro I can see of storing the JWT token in our database would be that even after assigning the token we will have the power to invalidate or deactivate the existing the tokens even before the expiry

Questo succede solo se stai convalidando il token contro il database, nel qual caso perché usare JWT? L'intero punto di avere un token autosufficiente e firmato è che non è necessario andare al database per verificare che l'utente abbia effettuato l'accesso.

    
risposta data 25.06.2018 - 15:48
fonte
1

Quindi hai implementato OAuth2 ma hai una specifica 'sicurezza' degli anni '90 che dice

"the user's session must expire after 15 min"

o

"When the user clicks log out their session is no longer valid"

Un modo per aggirare questo è implementare la revoca del token. Ci sono diversi modi per ottenere questo, ma memorizzare i token su un db e contrassegnarli revocati è probabilmente il più semplice per una piccola installazione.

Il problema con la revoca è che richiede coerenza istantanea su tutti i server delle risorse, esattamente ciò di cui stai cercando di sfuggire!

Se riesci a vendere la scadenza dei token di accesso breve come soluzione superiore, allora è grandioso, se non sei bloccato con ciò che è essenzialmente un hack.

    
risposta data 25.06.2018 - 16:14
fonte

Leggi altre domande sui tag