Go

Sicurezza e autenticazione

JWT, OAuth2, gestione delle sessioni, RBAC, crypto/rand vs math/rand, configurazione TLS, codifica sicura, migliori pratiche di sicurezza

24 domande da colloquio·
Senior
1

Qual è la principale differenza tra i token JWT e le sessioni server tradizionali?

Risposta

I token JWT sono stateless (senza stato lato server) e contengono tutte le informazioni necessarie codificate all'interno del token stesso. A differenza delle sessioni tradizionali che memorizzano i dati in memoria o nel database lato server con solo un session ID lato client, JWT sposta la responsabilità della memorizzazione sul client. Questo facilita lo scaling orizzontale poiché non è richiesto alcuno stato condiviso tra i server.

2

Quali sono le tre parti di un token JWT separate da punti?

Risposta

Un JWT è composto da tre parti codificate in Base64URL e separate da punti: Header (algoritmo e tipo), Payload (claims/dati) e Signature (verifica dell'integrità). La struttura è header.payload.signature. L'header indica l'algoritmo di firma (HS256, RS256), il payload contiene i claims (iss, sub, exp) e la signature garantisce che il token non sia stato manomesso.

3

Quale claim JWT standard definisce il timestamp di scadenza del token?

Risposta

Il claim 'exp' (expiration time) definisce il timestamp Unix oltre il quale il token non deve più essere accettato. I claims standard includono anche 'iss' (issuer), 'sub' (subject), 'aud' (audience), 'iat' (issued at) e 'nbf' (not before). La validazione del claim exp è cruciale per limitare la durata di validità dei token e ridurre l'impatto di un token rubato.

4

Qual è la principale differenza tra HS256 e RS256 per firmare i JWT?

5

Come revocare un JWT prima della sua scadenza naturale?

+21 domande da colloquio

Padroneggia Go per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis