Skip to content
This repository has been archived by the owner on Feb 25, 2019. It is now read-only.

anvilresearch/jwt

Repository files navigation

NOTICE

We’re archiving Anvil Connect and all related packages. This code is entirely MIT Licensed. You’re free to do with it what you want. That said, we are recommending against using it, due to the potential for security issues arising from unmaintained software. For more information, see the announcement at anvil.io.

JWT (@trust/jwt)

standard-readme compliant Build Status codecov

JSON Web Token for JavaScript

TODO: Update this

The JOSE suite of specifications standardizes various mechanisms required for integrity protection and encryption of data structured and serialized as JSON.

This package implements JWT, JWD, JWS and JWE for use in JavaScript applications.

Underlying cryptography is provided by W3C Web Cryptography API, available natively in browsers and via npm in Node.js. Additionally, JSON Schema is used for object initialization and validation with JWT and JWD.

Table of Contents

Security

TBD

Install

$ npm install @trust/jwt --save

Usage

Node.js

const { JWT, JWD } = require('@trust/jwt')

Browser

TBD

Develop

Install

$ git clone [email protected]:anvilresearch/jwt.git
$ cd jwt
$ npm install

Test

$ npm test        // Node.js
$ npm run karma   // Karma (browser)

API

JWT

new JWT()

(static) decode(token) → {JWT}

(static) encode(…data) → {Promise.<SerializedToken>}

(static) from(data) → {JWT}

(static) fromCompact(data) → {JWT}

(static) fromFlattened(data) → {JWT}

(static) fromGeneral(data) → {JWT}

(static) sign() → {Promise.<SerializedToken>}

(static) verify(…data) → {Promise.<JWT>}

encode(…data) → {Promise.<SerializedToken>}

isJWE()

resolveKeys()

serialize() → {SerializedToken}

sign(…data) → {Promise.<SerializedToken>}

toCompact()

toFlattened()

toGeneral()

toJWD() → {JWD}

verify(…data) → {Promise.<(Boolean|Object)>}

JWD

JWD inherits from JWT.

new JWD()

(static) decode(token) → {JWD}

(static) fromDocumentFlattened(data) → {JWD}

(static) fromDocumentGeneral(data) → {JWD}

serialize() → {SerializedToken}

toDocumentFlattened()

toDocumentGeneral()

toJWT() → {JWT}

Contribute

Issues

  • please file issues :)
  • for bug reports, include relevant details such as platform, version, relevant data, and stack traces
  • be sure to check for existing issues before opening new ones
  • read the documentation before asking questions
  • it's strongly recommended to open an issue before hacking and submitting a PR
  • we reserve the right to close an issue for excessive bikeshedding

Pull requests

Policy

  • we're not presently accepting unsolicited pull requests
  • create an issue to discuss proposed features before submitting a pull request
  • create an issue to propose changes of code style or introduce new tooling
  • ensure your work is harmonious with the overall direction of the project
  • ensure your work does not duplicate existing effort
  • keep the scope compact; avoid PRs with more than one feature or fix
  • code review with maintainers is required before any merging of pull requests
  • new code must respect the style guide and overall architecture of the project
  • be prepared to defend your work

Style guide

Code reviews

  • required before merging PRs
  • reviewers SHOULD run the code under review

Collaborating

Weekly project meeting

  • Thursdays from 1:00 PM to 2:00 Eastern US time at [TBD]
  • Join remotely with Google Hangouts

Pair programming

  • Required for new contributors
  • Work directly with one or more members of the core development team

Code of conduct

Contributors

MIT License

Copyright (c) 2016 Anvil Research, Inc.