2.0.2 • Published 1 year ago

@rdeak/jwe v2.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

JWE

npm version License: MIT

This repo exposes functions for encrypting JSON payloads, and decrypting JWE tokens into JSON from Node.js.

By default, dir algorithm is used for encryption of CEK, and A128GCM for encryption of a payload.

Underhood it uses jose library.

Installation

npm install @rdeak/jwe

or

npm install https://github.com/rdeak/jwe

Usage

import { encrypt, decrypt } from "@rdeak/jwe";

const jwe = JWE("0123456789123456");

const jweToken = await jwe.encrypt({ name: "John Doe" });
console.log("JWE:", jweToken);

const payload = await jwe.decrypt(jweToken);
console.table(payload);

API Documentation

JWE

Create handler for encrypting and decrypting JWE tokens.

Parameters

NameType
secretstring
optionsOptions
type Options = {
  /***
   * cryptographic algorithm used to encrypt CEK
   */
  alg?: string;
  /***
   * cryptographic algorithm used to encrypt payload
   */
  enc?: string;
  /***
   * default content is converted to JSON
   */
  transform?: Transform<PAYLOAD>;
  /***
   * @deprecated https://www.rfc-editor.org/rfc/rfc8725#name-avoid-compression-of-encryp
   */
  compression?: Compression;
};

encrypt

encrypt(payload): Promise\<string>

Encrypts and resolves the value of the Compact JWE string.

Parameters

NameType
payloadRecord<string, unknown>

Returns

Promise<string>

decrypt

decrypt("jwe token....", "0123456789123456");

decrypt(jweToken): Promise\<string>

Decrypts a Compact JWE into object.

Parameters

NameType
jweTokenstring

Returns

Promise<Record<string, unknown>>

License

This project is licensed under the terms of the MIT license.

2.0.2

1 year ago

2.0.1

2 years ago

1.1.2

2 years ago

2.0.0

2 years ago

1.1.1

2 years ago

1.0.2

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

0.0.0

2 years ago