This repository is deprecated; please follow the main search page or use the ‘Related code repos’ widget on the right side of the current page.

published
download total

node-jose-browserify

An advanced version of Cisco's node-jose module that works in both browser and the server. It is compatible with node.js and angular

Refer to https://github.com/cisco/node-jose for documentation.

PR

The PR Angular Support: To make node-jose work in angular apps is raised to merge the changes with the node-jose repo.

Since the node-jose repo is not actively maintained now, this PR can't be merged. So this fork is published.

Dependencies Added:

  • browserify-zlib: In the browser if Node's 'zlib' can't be resolved, browserify-zlib can be used.
  • buffer: make buffer, that emulates node's Buffer API, available globally in the browser
  • process: make process, that emulates node's Process API, available globally in the browser
  • stream-browserify: this should be used by zlib/browserify-zlib instead of 'stream'. Should be mentioned in angular compiler options.

The steps to use node-jose in angular app is added in the readme file.

Install

    npm i node-jose-browserify

Angular Usage

Import and use as any other package. All the methods will be supported in the browser, just as in node.js.

import * as jose from 'node-jose-browserify';

The following changes are required to make few node-modules available in the browser

  • angular compilerOptions for stream

    In tsconfig.json , compilerOptions add

    "paths": {
        "stream": ["../node_modules/stream-browserify/index.js"]
    }

    This is to avoid the below error

    ERROR in ./node_modules/browserify-zlib/lib/index.js.
    Module not found: Error: Can't resolve 'stream' in '***/node_modules/browserify-zlib/lib'

  • polyfil for global object
    In polyfills.ts add

    // Polyfill for node-jose
    (window as any)['global'] = window;
    

    This is to avoid the below error

    Uncaught ReferenceError: global is not defined

Merging node-jose updates

To pull the latest updates from node-jose into node-jose-browserify

$ git pull https://github.com/cisco/node-jose.git master
View code on GitHub
  • Owner

  • Contributors

    +20Github contributors
  • Categories

  • Programming Languages

    JavaScript
  • License

    Apache License 2.0

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.