Package Exports
- jwt-js-decode
- jwt-js-decode/dist/jwt-js-decode.esm.js
- jwt-js-decode/dist/jwt-js-decode.min.js
- jwt-js-decode/dist/jwt-js-decode.umd.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jwt-js-decode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
jwt-js-decode
JavaScript library that decodes JSON Web Tokens (JWT) jwt-js-decode the easy way
Use cases
Works in:
- all modern browsers that support WebCrypto API
- Node.js using 'crypto' (default node-js lib)
- any other js env using 'crypto-browserify' (with require replacement to 'crypto'')
Getting Started
Install Jest using yarn
:
yarn add jwt-js-decode
Or via npm
:
npm i -S jwt-js-decode
Require lib
import * as jwtJsDecode from 'jwt-js-decode';
or
const jwtJsDecode = require('jwt-js-decode');
or
<script src="//unpkg.com/jwt-js-decode@1.9.0/dist/jwt-js-decode.pkg.min.js"></script>
Other links you can find on yarn
P.S. For Webpack 5 browser bundling, there is need to add crypto fallback config (example stackblitz):
resolve: {
fallback: {
crypto: false,
},
},
Usage
Decode JWT token into {header: Object, payload: Object, signature: String}
import { decode } from 'jwt-js-decode';
let jwt = decode('token');
console.log(jwt.payload);
Verify JWT token with provided secret and decode it after
import { decode, verify } from 'jwt-js-decode';
verify('token', 'secret').then(res => {
if (res === true) {
const jwt = decode('token');
console.log(jwt.payload);
}
});
Resign JWT token with newSecret secret should be same type as jwt.header.alg
import { resign } from 'jwt-js-decode';
resign('token', 'newSecret').then(newToken => {
console.log(newToken);
});
Sandboxes
Runkit (node.js sandbox 1.9.0) https://npm.runkit.com/jwt-js-decode
Plunkr (browser sandbox 1.9.0 + CodeMirror) https://plnkr.co/edit/WaawWXswkexfXaFfRDjQ
Plunkr (browser sandbox 1.9.0) https://plnkr.co/edit/zCNpiTXBbPKNxNVnHhkU
Development
First you'll need to clone this repository to folder you will test it in.
Then insall all dependencies.
npm i
For testing functionality jest testing is used, npm test
script will rebuild dist and docs folder.
After changes in jwt-js-decode source and just for the first run use:
npm test
For sequential runs and just new test you can run:
npm run jest
TOC: