Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Document that "exp" field is required

Aperta
#354 2 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
48/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
documentation

Direzione di ricerca

Iniziare con gli esempi di documentazione collegati di encode e decode e confrontare le relative definizioni di Claims con l’esempio di encode proposto. Aggiornare gli esempi pertinenti in modo che mostrino il claim exp e un timestamp valido, quindi verificare che gli esempi di documentazione vengano compilati e non omettano più il claim necessario per il flusso documentato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I tried to implement tests containing the code present in the doc for encode and decode.

But it triggers an error because "exp" claim is missing. It took me quite some time to understand that we need to explicitly add this field to the Claim structure. I think the doc should be updated to show it. Something like this for encode:

use serde::{Deserialize, Serialize};
use jsonwebtoken::{encode, Algorithm, Header, EncodingKey, get_current_timestamp};

#[derive(Debug, Serialize, Deserialize)]
struct Claims {
   sub: String,
   company: String,
   exp: i64
}

let my_claims = Claims {
    sub: "[email protected]".to_owned(),
    company: "ACME".to_owned(),
    // 5 minutes validity
    exp: get_current_timestamp() + 300
};

// my_claims is a struct that implements Serialize
// This will create a JWT using HS256 as algorithm
let token = encode(&Header::default(), &my_claims, &EncodingKey::from_secret("secret".as_ref())).unwrap();
Lingua principale
Rust
Stelle
2.1k
Fork
367
Merge medio
5g 12h
PR unite (30g)
2

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Keats/jsonwebtoken

Tutte le issue di Keats/jsonwebtoken

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.