5.0.16 • Published 7 months ago

@travetto/jwt v5.0.16

Weekly downloads
82
License
MIT
Repository
github
Last release
7 months ago

JWT

JSON Web Token implementation

Install: @travetto/jwt

npm install @travetto/jwt

# or

yarn add @travetto/jwt

This module is a simple component to support JWT signing and verification. The framework provides a port of node-jsonwebtoken. The API has been streamlined, and is intended as a lower level component as a basis for other modules.

The API exposes:

Code: Signing Options

export interface SignOptions {
  /**
   * Key to use
   */
  key?: OrProm<KeyItem>;
  /**
   * Ignore issued
   */
  iatExclude?: boolean;
  /**
   * Algorithm
   */
  alg?: AlgType;
  /**
   * Header type
   */
  header?: {
    typ?: 'JWT';
  } & {
    [key: string]: string;
  };
  /**
   * Encoding for key
   */
  encoding?: string;
}

Code: Verify Options

export type VerifyOptions = {
  /**
   * Clock starting point
   */
  clock?: {
    /**
     * Time to check against
     */
    timestamp?: number | Date;
    /**
     * Time tolerance
     */
    tolerance?: number;
  };
  /**
   * Ignore various checks
   */
  ignore?: {
    /**
     * Ignore expiration time
     */
    exp?: boolean;
    /**
     * Ignore not before timestamp
     */
    nbf?: boolean;
  };
  /**
   * Max age in seconds
   */
  maxAgeSec?: number;
  /**
   * Header
   */
  header?: Record<string, string>;
  /**
   * Encryption key
   */
  key?: OrProm<KeyItem | KeyItem[]>;
  /**
   * Encoding
   */
  encoding?: string;
  /**
   * Algorithms to use
   */
  alg?: AlgType | AlgType[];

  /**
   * Payload audience to check
   */
  payload?: {
    aud?: string | RegExp | (string | RegExp)[];
  } & PayloadCore;
};

Code: API

export class JWTUtil {
  /**
   * Sign the payload and return a token
   */
  static async create<T extends Payload>(payload: T, options: SignOptions = {}): Promise<string>;
  /**
   * Read and return full object with signatures
   */
  static read<T extends Payload = Payload>(jwt: string): TypedSig<T>;
  /**
   * Rewrite a token with a simple transformation
   */
  static async rewrite<T extends Payload>(jwt: string, transformer: (o: T) => T, options: SignOptions = {}): Promise<string>;
  /**
   * Verify the token
   */
  static async verify<T>(jwt: string, options: VerifyOptions = {}): Promise<Payload & T>;
}
5.0.15

7 months ago

5.0.16

7 months ago

5.0.14

7 months ago

5.0.13

9 months ago

5.0.12

9 months ago

5.0.11

9 months ago

5.0.9

10 months ago

5.0.8

10 months ago

5.0.7

10 months ago

5.0.6

10 months ago

5.0.5

10 months ago

5.0.10

10 months ago

5.0.4

11 months ago

5.0.3

11 months ago

5.0.2

11 months ago

5.0.1

11 months ago

5.0.0

11 months ago

5.0.0-rc.11

11 months ago

5.0.0-rc.12

11 months ago

5.0.0-rc.13

11 months ago

5.0.0-rc.10

11 months ago

5.0.0-rc.9

12 months ago

5.0.0-rc.0

1 year ago

5.0.0-rc.1

1 year ago

5.0.0-rc.2

1 year ago

5.0.0-rc.3

1 year ago

5.0.0-rc.4

12 months ago

5.0.0-rc.5

12 months ago

5.0.0-rc.6

12 months ago

5.0.0-rc.7

12 months ago

5.0.0-rc.8

12 months ago

4.1.1

1 year ago

4.1.0

1 year ago

4.0.6

1 year ago

4.0.5

1 year ago

4.0.4

1 year ago

4.0.3

1 year ago

4.0.2

1 year ago

4.0.1

1 year ago

4.0.0

1 year ago

4.0.0-rc.8

1 year ago

4.0.0-rc.7

1 year ago

4.0.0-rc.6

1 year ago

4.0.0-rc.5

1 year ago

4.0.0-rc.4

1 year ago

4.0.0-rc.3

1 year ago

4.0.0-rc.1

1 year ago

4.0.0-rc.2

1 year ago

4.0.0-rc.0

2 years ago

3.4.2

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.3

2 years ago

3.4.0

2 years ago

3.4.1

2 years ago

3.4.0-rc.7

2 years ago

3.4.0-rc.5

2 years ago

3.4.0-rc.6

2 years ago

3.4.0-rc.3

2 years ago

3.4.0-rc.4

2 years ago

3.4.0-rc.1

2 years ago

3.4.0-rc.2

2 years ago

3.4.0-rc.0

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

3.3.5

2 years ago

3.3.4

2 years ago

3.3.3

2 years ago

3.3.2

2 years ago

3.2.0

2 years ago

3.1.5

2 years ago

3.2.0-rc.0

2 years ago

3.1.3

2 years ago

3.1.2

2 years ago

3.1.4

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.0.3

2 years ago

3.1.0-rc.2

2 years ago

3.1.0-rc.3

2 years ago

3.1.0-rc.0

2 years ago

3.1.0-rc.1

2 years ago

3.0.0-rc.22

2 years ago

3.0.0-rc.21

2 years ago

3.0.2-rc.1

2 years ago

3.0.2-rc.0

2 years ago

3.0.1-rc.1

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.0

2 years ago

3.0.0-rc.20

2 years ago

3.0.0-rc.13

2 years ago

3.0.0-rc.12

2 years ago

3.0.0-rc.15

2 years ago

3.0.0-rc.14

2 years ago

3.0.0-rc.17

2 years ago

3.0.0-rc.16

2 years ago

3.0.0-rc.19

2 years ago

3.0.0-rc.18

2 years ago

3.0.0-rc.11

2 years ago

3.0.0-rc.10

2 years ago

3.0.0-rc.9

2 years ago

3.0.0-rc.8

2 years ago

3.0.0-rc.6

3 years ago

3.0.0-rc.5

3 years ago

3.0.0-rc.4

3 years ago

3.0.0-rc.7

3 years ago

3.0.0-rc.2

3 years ago

3.0.0-rc.1

3 years ago

3.0.0-rc.0

3 years ago

2.2.4

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.2.3

3 years ago

2.2.2

3 years ago

2.1.2

3 years ago

2.1.3

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

2.0.0-rc.5

4 years ago

2.0.0-alpha.7

4 years ago

2.0.0-alpha.8

4 years ago

2.0.0-alpha.9

4 years ago

2.0.0-alpha.11

4 years ago

2.0.0-alpha.10

4 years ago

2.0.0-alpha.5

4 years ago

2.0.0-alpha.6

4 years ago

2.0.0-rc.2

4 years ago

2.0.0-rc.3

4 years ago

2.0.0-rc.4

4 years ago

2.0.0-rc.0

4 years ago

2.0.0-rc.1

4 years ago

2.0.0-alpha.3

4 years ago

2.0.0-alpha.4

4 years ago

2.0.0-alpha.2

5 years ago

2.0.0-alpha.1

5 years ago

1.1.1

5 years ago

1.1.0-rc.0

5 years ago

1.1.0

5 years ago

1.1.0-alpha.9

5 years ago

1.1.0-alpha.8

5 years ago

1.1.0-alpha.7

5 years ago

1.1.0-alpha.5

5 years ago

1.1.0-alpha.6

5 years ago

1.1.0-alpha.3

5 years ago

1.1.0-alpha.4

5 years ago

1.1.0-alpha.2

5 years ago

1.1.0-alpha.1

5 years ago

1.1.0-alpha.0

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

1.0.0-rc.8

5 years ago

1.0.0-rc.7

5 years ago

1.0.0-rc.6

5 years ago

1.0.0-rc.5

5 years ago

1.0.0-rc.4

5 years ago

1.0.0-rc.3

5 years ago

1.0.0-rc.2

5 years ago

1.0.0-rc.1

5 years ago

1.0.0-rc.0

5 years ago

1.0.0-beta.1

6 years ago

0.7.4

6 years ago

0.7.3

6 years ago

0.7.2

6 years ago

0.7.1

6 years ago

0.7.1-alpha.6

6 years ago

0.7.1-alpha.5

6 years ago

0.7.1-alpha.4

6 years ago

0.7.1-alpha.3

6 years ago

0.7.1-alpha.2

6 years ago

0.7.1-alpha.1

6 years ago

0.7.1-alpha.0

6 years ago

0.7.0-alpha.0

6 years ago

0.6.7

6 years ago

0.6.6

6 years ago

0.6.5

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.6.0-rc.10

6 years ago

0.6.0-rc.9

6 years ago

0.6.0-rc.8

6 years ago

0.6.0-rc.7

6 years ago

0.6.0-rc.6

6 years ago

0.6.0-rc.4

6 years ago

0.6.0-rc.3

6 years ago

0.6.0-rc.2

6 years ago

0.6.0-rc.1

6 years ago

0.6.0-rc.0

6 years ago

0.5.8

6 years ago

0.5.7

6 years ago

0.5.6

7 years ago

0.5.5

7 years ago

0.5.4

7 years ago

0.5.3

7 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.9

7 years ago

0.4.8

7 years ago

0.4.7

7 years ago

0.4.6

7 years ago

0.4.5

7 years ago

0.4.4

7 years ago

0.4.3

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.10

7 years ago