@ahoo-wang/fetcher-cosec 3.4.6 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"jwtToken.d.ts","sourceRoot":"","sources":["../src/jwtToken.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,eAAe,EACf,kBAAkB,EAElB,UAAU,EAEX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,UAAU,CACnD,SAAQ,kBAAkB;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,QAAQ,CAAC,OAAO,SAAS,UAAU,CAC9C,YAAW,SAAS,CAAC,OAAO,CAAC;aAQX,KAAK,EAAE,MAAM;aACb,WAAW,EAAE,MAAM;IAPrC,SAAgB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExC;;OAEG;gBAEe,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAAU;IAKzC;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAKvB;CACF;AAED,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,iBACX,YAAW,kBAAkB,EAAE,yBAAyB;aAStC,KAAK,EAAE,cAAc;aACrB,WAAW,EAAE,MAAM;IARrC,SAAgB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClD,SAAgB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9C;;OAEG;gBAEe,KAAK,EAAE,cAAc,EACrB,WAAW,GAAE,MAAU;IAMzC;;;OAGG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;CACF;AAED;;GAEG;AACH,qBAAa,2BACX,YAAW,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,kBAAkB;aAExC,WAAW,EAAE,MAAM;gBAAnB,WAAW,GAAE,MAAU;IAEnD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAK7C;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;CAG5C;AAED,eAAO,MAAM,2BAA2B,6BAAoC,CAAC"}
1
+ {"version":3,"file":"jwtToken.d.ts","sourceRoot":"","sources":["../src/jwtToken.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,eAAe,EACf,kBAAkB,EAElB,UAAU,EAEX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,SAAS,CACxB,OAAO,SAAS,UAAU,CAC1B,SAAQ,kBAAkB;IAC1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,QAAQ,CACnB,OAAO,SAAS,UAAU,CAC1B,YAAW,SAAS,CAAC,OAAO,CAAC;aAmBX,KAAK,EAAE,MAAM;aACb,WAAW,EAAE,MAAM;IAnBrC;;OAEG;IACH,SAAgB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExC;;;;;;;;;;;OAWG;gBAEe,KAAK,EAAE,MAAM,EACb,WAAW,GAAE,MAAU;IAKzC;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,OAAO,CAKvB;CACF;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,iBACX,YAAW,kBAAkB,EAAE,yBAAyB;aAoBtC,KAAK,EAAE,cAAc;aACrB,WAAW,EAAE,MAAM;IApBrC;;OAEG;IACH,SAAgB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAElD;;OAEG;IACH,SAAgB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9C;;;;;;;OAOG;gBAEe,KAAK,EAAE,cAAc,EACrB,WAAW,GAAE,MAAU;IAMzC;;;;OAIG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;;OAIG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;OAIG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,2BACX,YAAW,UAAU,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,kBAAkB;aAMxC,WAAW,EAAE,MAAM;IAL/C;;;;OAIG;gBACyB,WAAW,GAAE,MAAU;IAGnD;;;;;;;;;OASG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAK7C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM;CAG5C;AAED;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,6BAAoC,CAAC"}
@@ -1,16 +1,62 @@
1
1
  import { JwtCompositeToken } from './jwtToken';
2
2
  import { CompositeToken } from './tokenRefresher';
3
- import { EarlyPeriodCapable } from './jwts';
3
+ import { CoSecJwtPayload, EarlyPeriodCapable } from './jwts';
4
4
  import { KeyStorage, KeyStorageOptions } from '@ahoo-wang/fetcher-storage';
5
+ /**
6
+ * Default key used for storing CoSec tokens in storage.
7
+ */
5
8
  export declare const DEFAULT_COSEC_TOKEN_KEY = "cosec-token";
9
+ /**
10
+ * Options for configuring TokenStorage.
11
+ * Extends KeyStorageOptions excluding 'serializer' and includes EarlyPeriodCapable properties.
12
+ */
6
13
  export interface TokenStorageOptions extends Partial<Omit<KeyStorageOptions<JwtCompositeToken>, 'serializer'>>, Partial<EarlyPeriodCapable> {
7
14
  }
8
15
  /**
9
- * Storage class for managing access and refresh tokens.
16
+ * Storage class for managing access and refresh tokens in CoSec authentication.
17
+ * Provides methods to store, retrieve, and manage JWT composite tokens with early period support.
18
+ * Extends KeyStorage to handle persistence and implements EarlyPeriodCapable for token refresh timing.
10
19
  */
11
20
  export declare class TokenStorage extends KeyStorage<JwtCompositeToken> implements EarlyPeriodCapable {
21
+ /**
22
+ * The early period in milliseconds for token refresh timing.
23
+ */
12
24
  readonly earlyPeriod: number;
25
+ /**
26
+ * Creates a new TokenStorage instance.
27
+ * @param options - Configuration options for the token storage.
28
+ * @param options.key - The storage key for tokens. Defaults to DEFAULT_COSEC_TOKEN_KEY.
29
+ * @param options.eventBus - Event bus for token change notifications. Defaults to a BroadcastTypedEventBus with SerialTypedEventBus delegate.
30
+ * @param options.earlyPeriod - Early period for token refresh in milliseconds. Defaults to 0.
31
+ * @param reset - Additional options passed to KeyStorage.
32
+ */
13
33
  constructor({ key, eventBus, earlyPeriod, ...reset }?: TokenStorageOptions);
34
+ /**
35
+ * Sets a composite token in storage.
36
+ * Converts the composite token to a JwtCompositeToken and stores it.
37
+ * @deprecated Use signIn() instead for better semantic clarity.
38
+ * @param compositeToken - The composite token containing access and refresh tokens.
39
+ */
14
40
  setCompositeToken(compositeToken: CompositeToken): void;
41
+ /**
42
+ * Signs in by storing the composite token.
43
+ * @param compositeToken - The composite token to store for authentication.
44
+ */
45
+ signIn(compositeToken: CompositeToken): void;
46
+ /**
47
+ * Signs out by removing the stored token.
48
+ * Clears the token from storage.
49
+ */
50
+ signOut(): void;
51
+ /**
52
+ * Checks if the user is authenticated.
53
+ * @returns true if a valid token is present and authenticated, false otherwise.
54
+ */
55
+ get authenticated(): boolean;
56
+ /**
57
+ * Gets the current user's JWT payload.
58
+ * @returns The JWT payload of the current user if authenticated, null otherwise.
59
+ */
60
+ get currentUser(): CoSecJwtPayload | null;
15
61
  }
16
62
  //# sourceMappingURL=tokenStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenStorage.d.ts","sourceRoot":"","sources":["../src/tokenStorage.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAA+B,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAM3E,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD,MAAM,WAAW,mBACf,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC,EACvE,OAAO,CAAC,kBAAkB,CAAC;CAAG;AAElC;;GAEG;AACH,qBAAa,YACX,SAAQ,UAAU,CAAC,iBAAiB,CACpC,YAAW,kBAAkB;IAE7B,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,EACV,GAA6B,EAC7B,QAEE,EACF,WAAe,EACf,GAAG,KAAK,EACT,GAAE,mBAAwB;IAU3B,iBAAiB,CAAC,cAAc,EAAE,cAAc;CAGjD"}
1
+ {"version":3,"file":"tokenStorage.d.ts","sourceRoot":"","sources":["../src/tokenStorage.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAA+B,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAM3E;;GAEG;AACH,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,mBACf,SACE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,CAAC,EACjE,OAAO,CAAC,kBAAkB,CAAC;CAAG;AAElC;;;;GAIG;AACH,qBAAa,YACX,SAAQ,UAAU,CAAC,iBAAiB,CACpC,YAAW,kBAAkB;IAE7B;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;;;;;;OAOG;gBACS,EACV,GAA6B,EAC7B,QAEE,EACF,WAAe,EACf,GAAG,KAAK,EACT,GAAE,mBAAwB;IAU3B;;;;;OAKG;IACH,iBAAiB,CAAC,cAAc,EAAE,cAAc;IAIhD;;;OAGG;IACH,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAI5C;;;OAGG;IACH,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,eAAe,GAAG,IAAI,CAKxC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ahoo-wang/fetcher-cosec",
3
- "version": "3.4.6",
3
+ "version": "3.5.1",
4
4
  "description": "Enterprise-grade CoSec authentication integration for the Fetcher HTTP client with comprehensive security features including automatic token management, device tracking, and request attribution.",
5
5
  "keywords": [
6
6
  "fetch",
@@ -47,10 +47,10 @@
47
47
  "nanoid": "^5.1.6"
48
48
  },
49
49
  "devDependencies": {
50
- "@eslint/js": "^9.39.1",
50
+ "@eslint/js": "^9.39.2",
51
51
  "@vitest/coverage-v8": "^3.2.4",
52
52
  "@vitest/ui": "^3.2.4",
53
- "eslint": "^9.39.1",
53
+ "eslint": "^9.39.2",
54
54
  "globals": "^16.5.0",
55
55
  "prettier": "^3.7.4",
56
56
  "typescript": "^5.9.3",