2016-03-24 7 views
2

In der JWT-Token-Authentifizierung wird das "." wird zum Aufteilen der 3 Token-Teile (Header, Claim, Signatur) verwendet. Aber im Falle, dass meine Unterschrift oder der verschlüsselte Antrag das "." es wäre schwierig, den genauen Inhalt von 3 Abschnitt. Anybosy ist auf diese Situation gestoßen oder wie soll man damit umgehen?JWT-Token So teilen Sie Anspruch und Signatur auf

Ich habe die Signatur mit HMACSHA256 generiert (codierter JSON-Anspruch), aber ich bekomme "." in der Mitte der Signaturdaten. wenn ich alle 3 Teile verkette, bekomme ich einen zusätzlichen "."

+0

Wenn die Reihenfolge dieser 3 Teile ist Header, Anspruch und Unterschrift, sollten Sie wissen, dass nach dem zweiten "." der Rest ist Unterschrift, oder? – AAlferez

+0

Ja, Header und Claims sind Base64URLEncoder-codierte Inhalte. Mein Zweifel ist was, wenn Header/Claims auch "." – Mathiyazhagan

+0

Von was ich sehe sie verwenden * HMACSHA256 ( base64UrlEncode (header) + "." + base64UrlEncode (Nutzlast), Geheimnis) * auf der offiziellen Website – AAlferez

Antwort

1

Die drei Teile des JWT-Tokens sind alle base64 encoded und enthalten daher niemals ein Punktzeichen.

Auch wenn Ihr Anspruch oder Ihre Signatur dieses Zeichen enthält, wird nach der base64-Codierung dieses Teils der Punkt nicht mehr in der Ausgabe angezeigt.