Italiano

Strumenti per sviluppatori · Decodificatore JWT

Perché i token di accesso di breve durata sono importanti: i JWT non possono essere revocati una volta emessi

· Perché è importante

jwt autenticazione sicurezza

Una sequenza temporale del token firmata accanto a una decisione di revoca esterna
Illustrazione vettoriale originale ToolAcre

Un token autonomo è valido fino alla scadenza, qualunque cosa accada nel frattempo. Questo post spiega il problema della revoca, le attenuanti disponibili e perché l'exp è la richiesta più importante che imposti.

Logout che non comporta la disconnessione: il token che continua a funzionare al termine della sessione

La disconnessione può rimuovere la copia locale di un browser mentre un token autonomo precedentemente emesso rimane accettabile per un verificatore che controlla solo la firma e le attestazioni. L'esperienza utente dice "disconnesso", ma un altro titolare può conservare le stesse credenziali compatte fino a quando un limite di policy non lo interrompe.

Questo non è qualcosa che un decodificatore può risolvere. ToolAcre può mostrare un valore `exp` e chiamarlo scaduto rispetto all'orologio del browser, ma non dispone di archivio di sessioni, lista nera o connessione all'emittente. Il comportamento di revoca appartiene all'architettura che emette e consuma credenziali.

Verifica senza stato e il suo prezzo: nessun elenco centrale significa nessun kill switch centrale

La verifica senza stato consente a un server di risorse di valutare materiale crittografico e attestazioni senza interrogare un record di sessione centrale per ogni richiesta. La rimozione di tale ricerca rimuove anche un passaggio naturale per sessione, a meno che non venga aggiunto un altro meccanismo con stato. Il commercio è architettonico, non una proprietà visibile solo in JSON.

Un token può contenere `jti`, ma l'identificatore non ha alcun effetto di revoca finché un verificatore non consulta un archivio o una regola attendibile. Allo stesso modo, una firma può rimanere matematicamente valida anche dopo che un account è stato disabilitato. L'accettazione della domanda richiede la politica attuale, non solo la prova che alcuni byte storici firmati dalla chiave.

La progettazione di scadenza e aggiornamento può limitare l'esposizione, ma questo repository non definisce una durata standard

I sistemi spesso combinano credenziali di accesso limitate con un meccanismo di aggiornamento separato, ma questo repository non definisce una durata universale né afferma che una durata sia ragionevole. Il rischio, l'esperienza utente, il rilevamento e i vincoli dell'infrastruttura differiscono, quindi questo articolo non inventa indicazioni sulla durata dei token.

Il principio è più ristretto: un limite di scadenza può limitare il tempo in cui un token di accesso rubato rimane utile se il verificatore impone un `exp` autenticato. L'elaborazione dell'aggiornamento può quindi consultare più stati prima di emettere un'altra credenziale. ToolAcre visualizza solo le rivendicazioni; non esegue né l'applicazione né l'aggiornamento.

Denylists di jti: reintroduzione dello stato per i casi che necessitano di revoca immediata

Una lista nera con chiave `jti` può reintrodurre un punto di decisione immediato per i token selezionati. Ciò richiede un identificatore univoco, un percorso di inserimento affidabile, disponibilità di spazio di archiviazione e criteri di ricerca del verificatore. La semplice decodifica di un `jti` non mostra l'unicità né dimostra che un negozio lo contenga.

Lo stesso stato può supportare l'invalidazione a livello di account o specifica della sessione a seconda della progettazione. Ripristina inoltre le dipendenze operative evitate dalla verifica stateless. Valuta esplicitamente gli errori, la conservazione e la propagazione della cache anziché presentare una lista nera come interruttore gratuito.

Introspezione e rotazione delle chiavi: chiedere all'emittente o invalidare tutto in una volta

L'introspezione chiede a un'autorità lo stato attuale del token, trasformando l'accettazione in una decisione online. La rotazione delle chiavi può interrompere la verifica per le chiavi rimosse, ma potrebbe invalidare più token contemporaneamente e non è un sostituto preciso della revoca della sessione. Questi meccanismi risolvono diversi problemi operativi.

ToolAcre non conosce il loro stato attuale. Un emittente, un identificatore di chiave o una scadenza decodificati possono aiutare a individuare i record rilevanti, ma il pannello non contatta mai un emittente e non verifica mai una firma. Utilizza la telemetria del servizio autorevole per scoprire se un token è attivo, revocato o rifiutato.

Esempio pratico: calcolare l'intervallo dichiarato senza giudicare se sia ragionevole

Per un esempio controllato, sottrai il valore numerico `iat` da `exp` per calcolare l'intervallo richiesto dal payload. Se `iat` è 1,717,243,200 e `exp` è 1,717,246,800, la differenza è 3,600 secondi. ToolAcre visualizza inoltre ogni valore come un istante ISO.

L'aritmetica non giudica l'intervallo. Non può dimostrare che nessuna delle richieste sia stata emessa dalla parte prevista e il repository non fornisce alcuna durata consigliata. Confronta i valori autenticati con la tua policy documentata solo dopo la verifica, quindi verifica in che modo lo stato di disconnessione e revoca influisce sulle richieste reali.

Ciò che questo non copre: aggiornare l'archiviazione e la rotazione dei token, che sono un loro problema di progettazione

L'archiviazione dei token di aggiornamento, la rotazione e il rilevamento della riproduzione sono argomenti di progettazione separati. Un token di aggiornamento può essere opaco, può avere una gestione diversa e non deve essere inviato a una risorsa API semplicemente perché un token di accesso viene rifiutato. Questo decodificatore è specificamente modellato attorno a un input in tre parti simile a JWS.

Non incollare le credenziali di aggiornamento al suo interno. Se un token di aggiornamento è opaco, potrebbe non esserci nulla di utile da decodificare; se è strutturata, la divulgazione crea comunque rischio di credenziali. Diagnosticare i flussi di emissione utilizzando gli strumenti e i registri affidabili del provider.

La scadenza è una leva tra verifica, stato di revoca e progettazione delle credenziali

La scadenza è utile, ma non una strategia di revoca completa e non un verdetto del decodificatore. Il sistema utilizzatore deve autenticare il token, applicare criteri di tempo e audience e consultare qualsiasi stato di revoca richiesto dalla sua architettura. Ogni meccanismo ha disponibilità e conseguenze operative.

Utilizza ToolAcre solo per osservare i valori in un token sicuro. Può rispondere "quale intervallo richiede questo carico utile?" Non può rispondere “questa richiesta dovrebbe essere accettata adesso?” o "questa sessione è revocata?" Queste domande appartengono a servizi affidabili.