ここJWTガイド - - https://scotch.io/tutorials/the-anatomy-of-a-json-web-token#headerは、彼らがこれにbase64url
を実行すると言う不適切base64url
var b64u = require("base64url")
var rez = b64u(JSON.stringify({
"typ": "JWT",
"alg": "HS256"
}));
var shouldbe = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9';
console.log(rez);
console.log(shouldbe);
console.log(rez == shouldbe);
:私はこのコードを試してみてください
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
オンラインテストではこちらをご覧ください: https://tonicdev.com/56c5484d7a4ea10d0002c623/5733af59234d9d1200d8c818
ただし、一致しません。
誰か簡単な問題はありますか?
私はその例が間違っていると思います。 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9'も取得します。サイドノートでは、base64エンコードのための 'base64url'モジュールは必要ありません。 'new Buffer(str).toString( 'base64');を実行してください。ここで' str'は文字列化されたJSONです。 – dvlsg
興味深いことに、ありがとう@dvlsg – Noitidart
あなたが知っているのは、 'JSON.stringify'が' alg'と 'typ'キーの順序を入れ替えているのだろうかと思います。私はscotch.ioチュートリアルにアルファベット順ではないことに気付きました。 – dvlsg