Wann ist JWTSecurityTokenHandler.ValidateToken () tatsächlich gültig?

11

Ich versuche, eine Token-Validierungsmethode zu erstellen, die true zurückgibt, wenn ein JWT-Token basierend auf der Signatur gültig ist. Ich glaube nicht, dass ich wirklich alles im Token validieren muss, aber was eigentlich ein Token bedeutet, ist nach dem Aufruf von ValidateToken () gültig? Die Existenz eines Prinzips? Das Out-referenzierte Token enthält bestimmte Werte? Ich bin mir nicht sicher, wann ich von dieser Methode zurückkommen soll.

%Vor%     
Adam 30.03.2015, 20:11
quelle

1 Antwort

14

Ich überprüfe alle Schadenswerte manuell. Ich habe nach einer definitiven Antwort auf Ihre gleiche Frage gesucht, aber das einzige, was ich gesehen habe, ist, dass die ValidateToken-Funktion eine Exception auslöst, wenn etwas falsch ist, also fange ich an, den Call in einen try-catch zu verpacken und false von zurückzugeben der Fang.

Das ist aber nur mein "First-Pass" bei der Validierung des Token. Danach mache ich ein wenig schwereres Heben, um bestimmte Werte manuell zu überprüfen. Zum Beispiel stelle ich sicher, dass der Wert unique_name im Claims-Bereich tatsächlich als ein Benutzer in meiner Datenbank existiert, dass der Benutzer nicht deaktiviert wurde und andere proprietäre System-Sachen wie diese.

%Vor%

Die letzte Zeile, return validatedToken != null , ist meinerseits reiner Aberglaube. Ich habe noch nie gesehen, dass der validierte Token null ist.

    
Eddie Chaplin 16.04.2015, 22:01
quelle