Lightweight isomorphic JSON Object Signing and Encryption (JOSE) library for browser and Node.js
TBD
- Based on Webcrypto API
- Isomorphic (Node.js and Browser)
Requires Node.js 8+.
npm install @solid/jose
Important:
If you're using this library as a dependency and you plan to use Webpack, don't
forget to add the following lines to your webpack.config.jsexternals:
section:
externals: {'@sinonjs/text-encoding': 'TextEncoder','isomorphic-webcrypto': 'crypto'}const{JWT}=require('@solid/jose')constdecoded=JWT.decode(data)// throws an error if invalidIf you npm install @solid/jose as a dependency, the Webpack'd minified bundle will be
available in the dist/ directory as jose.min.js.
If you're actively developing/testing this lib, you can npm run dist, and the
bundle will be rebuilt.
To use in the browser, simply import the bundle in a <script> tag, and the lib
will be loaded into the window.JOSE global variable.
Example test.html file, to illustrate:
<html><head><scriptsrc="dist/jose.min.js"></script><script>// You can now start using the libraryletjwt=newJOSE.JWT({header: {alg: 'HS256'},payload: {iss: 'https://forge.anvil.io'}})</script></head><body>
Sample usage of JOSE lib in a browser.
</body></html>$ npm testCopyright (c) 2016 Anvil Research, Inc. Copyright (c) 2017-2019 The Solid Project