Would it be possible to make DecodingKey more test friendly?

Aperta
#273 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust
Ambito
security

Direzione di ricerca

Inizia individuando le definizioni di DecodingKey e Algorithm e le relative interfacce pubbliche esistenti. Esamina come vengono costruite le chiavi e gli algoritmi, quindi aggiungi test mirati per il comportamento di confronto e debugging; il lavoro è completato quando le interfacce richieste, adatte ai test, funzionano per i casi d’uso JWK e static-secret senza dipendere da una corrispondenza manuale.

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

Descrizione

Currently DecodingKey::as_bytes is crate public which means you can't even get the secret out of the DecodingKey that you originally put in.

Additionally it does not implement Debug or PartialEq so once you create a DecodingKey you cannot compare for testing purposes ever. This is really a pain point if you're trying to test your decoding logic to support many algorithms and keys using JWK as well as static secrets.

DecodingKey should really implement the std::cmp::PartialEq interface at the very least.

A similar issue exists with Algorithm where you have to resort to matching in order to implement Debug on types using it. Ideally the library would handle this case as well converting Algorithm back to a string.

Lingua principale
Rust
Stelle
2.1k
Fork
375
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

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.