認証にjwtトークンを使用していますが、クライアント側でペイロード情報を読み取りたいです。今、私は次のようなことをしています:
var payload = JSON.parse(window.atob(token.split('.')[1]));
ブラウザ内でjwtトークンを操作するより良い方法はありますか?
から https://github.com/auth0/jwt-decode
.build/jwt-decode.min.jsファイルをダウンロードして、プロジェクトに含めます。
<script src="js/jwt-decode.min.js"></script>
var token = 'eyJ0eXAiO.../// jwt token';
var decoded = jwt_decode(token);
console.log(decoded);
この単純なソリューションは、生のトークン、ヘッダー、およびペイロードを返します。
function jwtDecode(t) {
let token = {};
token.raw = t;
token.header = JSON.parse(window.atob(t.split('.')[0]));
token.payload = JSON.parse(window.atob(t.split('.')[1]));
return (token)
}