1.8.2 • Published 6 months ago

jwt-js-decode v1.8.2

Weekly downloads
1,637
License
Apache-2.0
Repository
github
Last release
6 months ago

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.8.2/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.8.2) https://npm.runkit.com/jwt-js-decode

Plunkr (browser sandbox 1.8.2 + CodeMirror) https://plnkr.co/edit/WaawWXswkexfXaFfRDjQ

Plunkr (browser sandbox 1.8.2) 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:

1.8.2

6 months ago

1.8.1

7 months ago

1.8.0

8 months ago

1.7.0

9 months ago

1.6.0

10 months ago

1.5.1

2 years ago

1.5.0

2 years ago

1.4.1

5 years ago

1.4.0

5 years ago

1.3.7

6 years ago

1.3.6

6 years ago

1.3.5

6 years ago

1.2.7

6 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago