È una cattiva pratica memorizzare l'email di un utente in un JWT?

3

Uso JWT per l'autenticazione dell'utente in un'applicazione web. Ho un utente db in cui l'ID univoco di ciascun utente è la sua email. Per identificare l'argomento del JWT, attualmente ho un reclamo che memorizza l'e-mail dell'utente nel token. Questo pone un problema di sicurezza? In tal caso, dovrei usare un GUID o un hash dell'email come ID?

    
posta Justin Borromeo 07.09.2017 - 06:12
fonte

1 risposta

5

La risposta breve è no. Dal punto di vista della sicurezza JWT, non dovrebbero esserci problemi, dal momento che email è già rivendicazione pubblica registrata nel IANA .

D'altra parte ...

I have a user db where each user's unique ID is their email ...

Questo rende la domanda interessante perché c'è già un reclamo protetto per ID degli utenti. Il reclamo sub .

4.1.2. "sub" (Subject) Claim

The "sub" (subject) claim identifies the principal that is the subject of the JWT. The claims in a JWT are normally statements about the subject. The subject value MUST either be scoped to be locally unique in the context of the issuer or be globally unique. The processing of this claim is generally application specific. The "sub" value is a case-sensitive string containing a StringOrURI value. Use of this claim is OPTIONAL.

Forse, sarebbe più appropriato usare il claim sub invece di email perché indipendentemente dal formato, l'email è ancora un ID (nel tuo sistema) e probabilmente vuoi trattare il reclamo come tale, piuttosto che come una email.

Forse, nulla ti impedisce di implementare sia sub che email . È anche specifico per le applicazioni.

Indipendentemente dalle affermazioni, dal punto di vista della sicurezza, le preoccupazioni principali sono ( o dovrebbero essere ) per implementare TLS (https) e per firmare / crittografare il token per ridurre il superficie di attacco per il processo di autorizzazione.

    
risposta data 07.09.2017 - 08:16
fonte

Leggi altre domande sui tag