diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index ff7039ada8..d658f5bedc 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -1,6 +1,6 @@ --- name: Bug report -about: There's a bug in @panva/jose I want to report +about: There's a bug I want to report title: 'bug: ' labels: bug --- @@ -21,11 +21,11 @@ Steps to reproduce the behaviour: A clear and concise description of what you expected to happen. **Environment:** - - @panva/jose version: [e.g. v1.0.0] + - `jose` version: [e.g. v1.0.0] - node version: [e.g. v12.0.0] **Additional context** Add any other context about the problem here. - - [ ] the bug is happening on latest @panva/jose too. + - [ ] the bug is happening on latest `jose` too. - [ ] i have searched the issues tracker on github for similar issues and couldn't find anything related. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md index 536323b157..dbdd2db96a 100644 --- a/.github/ISSUE_TEMPLATE/feature-request.md +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -1,6 +1,6 @@ --- name: Feature proposal -about: I have an idea for a new @panva/jose feature +about: I have an idea for a new feature title: 'proposal: ' labels: enhancement --- diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 3504b5e139..c0d6bdcc23 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -1,6 +1,6 @@ --- name: Question -about: I have a question about using @panva/jose +about: I have a question about using jose title: 'question: ' labels: question --- diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a7aff5f45..de58d149e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -141,7 +141,7 @@ The new methods still allow to import private RSA keys with these optimization key parameters missing but it is disabled by default and one should choose to enable it when working with keys from trusted sources -It is recommended not to use @panva/jose versions with this feature in +It is recommended not to use `jose` versions with this feature in its original on-by-default form - v1.1.0 and v1.2.0 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6b21ff9efc..e5cfc0d8ac 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to @panva/jose +# Contributing to `jose` Please note we have a [code of conduct][coc], please follow it in all your interactions with the project. diff --git a/README.md b/README.md index c50d9f7b70..b0d3d2d613 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# @panva/jose +# jose ![build][actions-image] [![codecov][codecov-image]][codecov-url] @@ -8,7 +8,7 @@ ## Implemented specs & features -The following specifications are implemented by @panva/jose +The following specifications are implemented by `jose` - JSON Web Signature (JWS) - [RFC7515][spec-jws] - JSON Web Encryption (JWE) - [RFC7516][spec-jwe] @@ -104,7 +104,7 @@ Won't implement:
-Have a question about using @panva/jose? - [ask][ask]. +Have a question about using `jose`? - [ask][ask]. Found a bug? - [report it][bug]. Missing a feature? - If it wasn't already discussed before, [ask for it][suggest-feature]. Found a vulnerability? - Reach out to us via email first, see [security vulnerability disclosure][security-vulnerability]. @@ -115,11 +115,11 @@ Found a vulnerability? - Reach out to us via email first, see [security vulnerab ## Support -If you or your business use @panva/jose, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. +If you or your business use `jose`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. ## Documentation -- [@panva/jose API Documentation][documentation] +- [jose API Documentation][documentation] - [JWK (JSON Web Key)][documentation-jwk] - [JWKS (JSON Web Key Set)][documentation-jwks] - [JWT (JSON Web Token)][documentation-jwt] @@ -131,22 +131,22 @@ If you or your business use @panva/jose, please consider becoming a [sponsor][su For the best performance Node.js version **>=12.0.0** is recommended, but **^10.13.0** lts/dubnium is also supported. -Installing @panva/jose +Installing `jose` ```console -npm install @panva/jose +npm install jose ``` Usage ```js -const jose = require('@panva/jose') +const jose = require('jose') const { JWE, // JSON Web Encryption (JWE) JWK, // JSON Web Key (JWK) JWKS, // JSON Web Key Set (JWKS) JWS, // JSON Web Signature (JWS) JWT, // JSON Web Token (JWT) - errors // errors utilized by @panva/jose + errors // errors utilized by jose } = jose ``` @@ -238,7 +238,7 @@ jose.JWT.verify( Note: Depending on the channel you receive an ID Token from the following claims may be required and must also be checked: `at_hash`, `c_hash` or `s_hash`. Use e.g. [`oidc-token-hash`][oidc-token-hash] -to validate those hashes after getting the ID Token payload and signature validated by @panva/jose. +to validate those hashes after getting the ID Token payload and signature validated by `jose` #### JWS Signing @@ -295,21 +295,21 @@ Note: the secp256k1 JOSE parameters registration and the RFC is still in a draft draft changes its mind about the parameter names again the new values will be propagated as a MINOR library version. -When you require `@panva/jose` you can work with `secp256k1` EC keys right away, the EC JWK `crv` +When you require `jose` you can work with `secp256k1` EC keys right away, the EC JWK `crv` used is as per the specification `secp256k1`. ```js -const jose = require('@panva/jose') +const jose = require('jose') let key = jose.JWK.generateSync('EC', 'secp256k1') key = jose.JWK.asKey(fs.readFileSync('path/to/key/file')) key.crv === 'secp256k1' ``` For legacy reasons the unregistered EC JWK `crv` value `P-256K` is also supported but you must -require `@panva/jose` like so to use it: +require `jose` like so to use it: ```js -const jose = require('@panva/jose/P-256K') +const jose = require('jose/P-256K') let key = jose.JWK.generateSync('EC', 'P-256K') key = jose.JWK.asKey(fs.readFileSync('path/to/key/file')) key.crv === 'P-256K' @@ -338,7 +338,7 @@ private API and is subject to change between any versions. #### How do I use it outside of Node.js -It is **only built for ^10.13.0 || >=12.0.0 Node.js** environment - including @panva/jose in +It is **only built for ^10.13.0 || >=12.0.0 Node.js** environment - including `jose` in transpiled browser-environment targeted projects is not supported and may result in unexpected results. diff --git a/docs/README.md b/docs/README.md index 49abfa9cb5..fe037a8116 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,4 +1,4 @@ -# @panva/jose API Documentation +# `jose` API Documentation > "JSON Web Almost Everything" - JWA, JWS, JWE, JWT, JWK, JWKS for Node.js with minimal dependencies @@ -17,7 +17,7 @@ ## Support -If you or your business use @panva/jose, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree. +If you or your business use `jose`, please consider becoming a [sponsor][support-sponsor] so I can continue maintaining it and adding new features carefree.
@@ -52,12 +52,12 @@ If you or your business use @panva/jose, please consider becoming a [sponsor][su - [JWK.isKey(object)](#jwkiskeyobject) -All @panva/jose operations require `` or `` as arguments. Here's +All `jose` operations require `` or `` as arguments. Here's how to get a `` instances generated or instantiated from existing key material. ```js -const { JWK } = require('@panva/jose') +const { JWK } = require('jose') // { asKey: [Function: asKey], // generate: [AsyncFunction: generate], // generateSync: [Function: generateSync] } @@ -211,7 +211,7 @@ of algorithms the key may perform. Example (Click to expand) ```js -const { JWK: { generateSync } } = require('@panva/jose') +const { JWK: { generateSync } } = require('jose') const privateKey = generateSync('RSA') privateKey.algorithms() @@ -257,7 +257,7 @@ Exports the key to a JSON Web Key formatted object. Example (Click to expand) ```js -const { JWK: { generateSync } } = require('@panva/jose') +const { JWK: { generateSync } } = require('jose') const key = generateSync('RSA', 2048, { use: 'sig', alg: 'PS256' }) key.toJWK() @@ -317,7 +317,7 @@ For private key export, the following encoding options can be used: Example (Click to expand) ```js -const { JWK: { generateSync } } = require('@panva/jose') +const { JWK: { generateSync } } = require('jose') const key = generateSync('RSA', 2048) key.toPEM() @@ -363,7 +363,7 @@ formats ```js const { readFileSync } = require('fs') -const { JWK: { asKey } } = require('@panva/jose') +const { JWK: { asKey } } = require('jose') const key = asKey(readFileSync('path/to/key/file')) // ECKey { @@ -395,7 +395,7 @@ Imports a symmetric key. Example (Click to expand) ```js -const { JWK: { asKey } } = require('@panva/jose') +const { JWK: { asKey } } = require('jose') const key = asKey(Buffer.from('8yHym6h5CG5FylbzrCn8fhxEbp3kOaTsgLaawaaJ')) // OctKey { @@ -442,7 +442,7 @@ keys may be both private and public. Example (Click to expand) ```js -const { JWK: { asKey } } = require('@panva/jose') +const { JWK: { asKey } } = require('jose') const jwk = { kty: 'RSA', kid: 'r1LkbBo3925Rb2ZFFrKyU3MVex9T2817Kx0vbi6i_Kc', @@ -489,7 +489,7 @@ Securely generates a new RSA, EC, OKP or oct key. Example (Click to expand) ```js -const { JWK: { generate } } = require('@panva/jose') +const { JWK: { generate } } = require('jose') (async () => { const key = await generate('EC', 'P-384', { use: 'sig' }) // ECKey { @@ -532,7 +532,7 @@ Synchronous version of `JWK.generate()` Example (Click to expand) ```js -const { JWK: { generateSync } } = require('@panva/jose') +const { JWK: { generateSync } } = require('jose') const key = generateSync('RSA', 2048, { use: 'enc' }) // RSAKey { // kty: 'RSA', @@ -578,7 +578,7 @@ Returns 'true' if the value is an instance of ``. ```js -const { JWKS } = require('@panva/jose') +const { JWKS } = require('jose') // { KeyStore: [Function: KeyStore] } ``` @@ -702,7 +702,7 @@ Creates a new KeyStore from a JSON Web Key Set. Example (Click to expand) ```js -const { JWKS: { KeyStore, asKeyStore } } = require('@panva/jose') +const { JWKS: { KeyStore, asKeyStore } } = require('jose') const jwks = { keys: [ { kty: 'RSA', @@ -733,7 +733,7 @@ ks instanceof KeyStore ```js -const { JWT } = require('@panva/jose') +const { JWT } = require('jose') // { decode: [Function], sign: [Function], verify: [Function] } ``` @@ -774,7 +774,7 @@ that will be used to sign with is either provided as part of the 'options.algori Example (Click to expand) ```js -const { JWT, JWK } = require('@panva/jose') +const { JWT, JWK } = require('jose') const key = JWK.asKey({ kty: 'oct', k: 'hJtXIZ2uSN5kbQfbtTNWbpdmhkV8FJG-Onbc6mxCcYg' @@ -847,7 +847,7 @@ Verifies the claims and signature of a JSON Web Token. Example (Click to expand) ```js -const { JWK, JWT } = require('@panva/jose') +const { JWK, JWT } = require('jose') const key = JWK.asKey({ kty: 'oct', @@ -881,7 +881,7 @@ ever. Example (Click to expand) ```js -const { JWT } = require('@panva/jose') +const { JWT } = require('jose') const token = 'eyJ0eXAiOiJKV1QiLCJraWQiOiJSdG9SdXJfMURpcjVNNHd1T2ZxTmtEWU9mOU9fNFJKLWFIa1RBNzVSTEE4IiwiYWxnIjoiSFMyNTYifQ.eyJ1cm46ZXhhbXBsZTpjbGFpbSI6ImZvbyIsImF1ZCI6WyJ1cm46ZXhhbXBsZTpjbGllbnQiXSwiaXNzIjoiaHR0cHM6Ly9vcC5leGFtcGxlLmNvbSIsImlhdCI6MTU1MTI5NDEzNywiZXhwIjoxNTUxMzAxMzM3fQ.YmtApwaGRBWlL9O8avbmpYcJ5UwNy0R8rpbxZqHxNd4' @@ -924,7 +924,7 @@ The `` module provides methods required to sign or verify JSON Web Signatur the defined serializations. ```js -const { JWS } = require('@panva/jose') +const { JWS } = require('jose') // { Sign: [Function: Sign], // sign: // { [Function: bound single] @@ -941,7 +941,7 @@ signatures of the same payload) using the General JWS JSON Serialization Syntax. Example (Click to expand) ```js -const { JWK, JWS } = require('@panva/jose') +const { JWK, JWS } = require('jose') const key = JWK.asKey({ kty: 'oct', @@ -1024,7 +1024,7 @@ provided `` instance. Example (Click to expand) ```js -const { JWK, JWS } = require('@panva/jose') +const { JWK, JWS } = require('jose') const key = JWK.asKey({ kty: 'oct', @@ -1058,7 +1058,7 @@ inferred from the provided `` instance. Example (Click to expand) ```js -const { JWK, JWS } = require('@panva/jose') +const { JWK, JWS } = require('jose') const key = JWK.asKey({ kty: 'oct', @@ -1100,7 +1100,7 @@ Verifies the provided JWS in either serialization with a given `` or `< Example (Click to expand) ```js -const { JWK, JWS, JWKS } = require('@panva/jose') +const { JWK, JWS, JWKS } = require('jose') const key = JWK.asKey({ kty: 'oct', @@ -1181,7 +1181,7 @@ The `` module provides methods required to encrypt or decrypt JSON Web Encr one of the defined serializations. ```js -const { JWE } = require('@panva/jose') +const { JWE } = require('jose') // { Encrypt: [Function: Encrypt], // encrypt: // { [Function: bound single] @@ -1303,7 +1303,7 @@ Verifies the provided JWE in either serialization with a given `` or `< -The following errors are expected to be thrown by @panva/jose runtime and have their prototypes +The following errors are expected to be thrown by `jose` runtime and have their prototypes exported in `jose.errors`. If you encounter an `Error` other then `TypeError` or one that's `instanceof jose.errors.JOSEError` please [report it][bug], it is not intended. diff --git a/package.json b/package.json index 0a9f034762..55047ee2fd 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@panva/jose", + "name": "jose", "version": "1.9.2", "description": "JSON Web Almost Everything - JWA, JWS, JWE, JWK, JWT, JWKS for Node.js with minimal dependencies", "keywords": [