@authticon/client 0.0.0-beta16 → 0.0.0-beta18

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.
package/dist/Auth.d.ts CHANGED
@@ -10,7 +10,7 @@ export declare class Auth {
10
10
  challanges: Array<"verifyTwoFa" | "setTwoFa">;
11
11
  sessionId: string;
12
12
  }>;
13
- register(params: PostApiV1AuthRegisterData['body']): Promise<{
13
+ register(params: PostApiV1AuthRegisterData["body"]): Promise<{
14
14
  userId: string;
15
15
  }>;
16
16
  logout(refreshToken: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGlG,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;;;;;;;IAQ5C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC;;;IAQlD,MAAM,CAAC,YAAY,EAAE,MAAM;;;IAU3B,OAAO,CAAC,YAAY,EAAE,MAAM;;;CASnC"}
1
+ {"version":3,"file":"Auth.d.ts","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAO1D,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;;;;;;;IAQ5C,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC;;;IAQlD,MAAM,CAAC,YAAY,EAAE,MAAM;;;IAU3B,OAAO,CAAC,YAAY,EAAE,MAAM;;;CASnC"}
package/dist/Auth.js CHANGED
@@ -1,4 +1,4 @@
1
- import { postApiV1AuthLogin, postApiV1AuthLogout, postApiV1AuthRegister, postApiV1AuthTokenRefresh } from "./generated/sdk.gen.js";
1
+ import { postApiV1AuthLogin, postApiV1AuthLogout, postApiV1AuthRegister, postApiV1AuthTokenRefresh, } from "./generated/sdk.gen.js";
2
2
  export class Auth {
3
3
  client;
4
4
  constructor(client) {
@@ -7,35 +7,32 @@ export class Auth {
7
7
  async login(params) {
8
8
  const { data } = await postApiV1AuthLogin({
9
9
  client: this.client,
10
- body: params
10
+ body: params,
11
11
  });
12
12
  return data;
13
13
  }
14
- ;
15
14
  async register(params) {
16
15
  const { data } = await postApiV1AuthRegister({
17
16
  client: this.client,
18
- body: params
17
+ body: params,
19
18
  });
20
19
  return data;
21
20
  }
22
- ;
23
21
  async logout(refreshToken) {
24
22
  const { data } = await postApiV1AuthLogout({
25
23
  client: this.client,
26
24
  body: {
27
- refreshToken
28
- }
25
+ refreshToken,
26
+ },
29
27
  });
30
28
  return data;
31
29
  }
32
- ;
33
30
  async refresh(refreshToken) {
34
31
  const { data } = await postApiV1AuthTokenRefresh({
35
32
  client: this.client,
36
33
  body: {
37
- refreshToken
38
- }
34
+ refreshToken,
35
+ },
39
36
  });
40
37
  return data;
41
38
  }
package/dist/Auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAInI,MAAM,OAAO,IAAI;IACc;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,KAAK,CAAC,MAAsC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,MAAyC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,qBAAqB,CAAC;YAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY;aACb;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAyB,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY;aACb;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"Auth.js","sourceRoot":"","sources":["../src/Auth.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAMhC,MAAM,OAAO,IAAI;IACc;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,KAAK,CAAC,MAAsC;QAChD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAyC;QACtD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,qBAAqB,CAAC;YAC3C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY;aACb;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAAoB;QAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAyB,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY;aACb;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import * as jose from "jose";
1
+ import type { Logger } from "pino";
2
2
  import { Account } from "./Acccount.js";
3
3
  import { Auth } from "./Auth.js";
4
4
  import { Challange } from "./Challange.js";
@@ -9,12 +9,13 @@ import { TwoFa } from "./TwoFa.js";
9
9
  import type { CookieAdapter, TokenStorageOptions } from "./types.js";
10
10
  import { Users } from "./Users.js";
11
11
  type ClientOptions<C extends CookieAdapter> = {
12
- readonly apiKey: string;
13
- readonly baseURL?: string;
14
- readonly jwksUrl?: string;
15
- readonly jwksCacheTtlMs?: number;
16
- readonly cookies?: C;
17
- readonly tokenStorage?: TokenStorageOptions;
12
+ apiKey: string;
13
+ baseURL?: string;
14
+ jwksUrl?: string;
15
+ jwksCacheTtlMs?: number;
16
+ cookies?: C;
17
+ tokenStorage?: TokenStorageOptions;
18
+ logger?: Logger;
18
19
  };
19
20
  export declare class Authticon<Payload extends Record<string, any>, C extends CookieAdapter> {
20
21
  private readonly client;
@@ -25,11 +26,12 @@ export declare class Authticon<Payload extends Record<string, any>, C extends Co
25
26
  readonly account: Account;
26
27
  readonly challange: Challange;
27
28
  readonly session: Session;
29
+ readonly logger?: Logger;
28
30
  private readonly cookiesAdapter?;
29
31
  constructor(options: ClientOptions<C>);
30
- hasSession(): boolean;
32
+ hasSession(): string | false | null;
31
33
  verifyToken(): Promise<import("./types.js").AccessTokenPayload<Payload>>;
32
- getUser(): Promise<jose.JWTPayload & Payload & {
34
+ getUser(): Promise<import("./types.js").JWTPayload & Payload & {
33
35
  auth: {
34
36
  logout: () => Promise<{
35
37
  success: boolean;
@@ -80,7 +82,7 @@ export declare class Authticon<Payload extends Record<string, any>, C extends Co
80
82
  };
81
83
  }>;
82
84
  cookies(): C;
83
- login(params: Omit<PostApiV1AuthLoginData["body"], "deviceId">): Promise<jose.JWTPayload & Payload & {
85
+ login(params: Omit<PostApiV1AuthLoginData["body"], "deviceId">): Promise<import("./types.js").JWTPayload & Payload & {
84
86
  auth: {
85
87
  logout: () => Promise<{
86
88
  success: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Authticon.d.ts","sourceRoot":"","sources":["../src/Authticon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CAC7C,CAAC;AAEF,qBAAa,SAAS,CACpB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,CAAC,SAAS,aAAa;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAI;gBAExB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IA6B9B,UAAU;IAIJ,WAAW;IAkBX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKb,OAAO;IAOD,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS5E;AAED,wBAAgB,eAAe,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzD,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,yBAE1B"}
1
+ {"version":3,"file":"Authticon.d.ts","sourceRoot":"","sources":["../src/Authticon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAO3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,KAAK,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,SAAS,CACpB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,CAAC,SAAS,aAAa;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAI;gBAExB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAwE9B,UAAU;IAIJ,WAAW;IAgBX,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKb,OAAO;IAOD,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS5E;AAED,wBAAgB,eAAe,CAC7B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzD,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,yBAE1B"}
package/dist/Authticon.js CHANGED
@@ -1,7 +1,8 @@
1
- import * as jose from "jose";
1
+ import axios from "axios";
2
2
  import { Account } from "./Acccount.js";
3
3
  import { Auth } from "./Auth.js";
4
4
  import { Challange } from "./Challange.js";
5
+ import { AuthticonApiError, AuthticonError, isAuthticonTokenError, } from "./errors.js";
5
6
  import { createClient } from "./generated/client/index.js";
6
7
  import { Session } from "./Session.js";
7
8
  import { TokenManager } from "./TokenManager.js";
@@ -17,14 +18,37 @@ export class Authticon {
17
18
  account;
18
19
  challange;
19
20
  session;
21
+ logger;
20
22
  cookiesAdapter;
21
23
  constructor(options) {
22
24
  const baseURL = options.baseURL ?? "https://authticon.com";
23
- this.client = createClient({
25
+ this.logger = options.logger?.child({ authticon: "client" });
26
+ const axiosClient = axios.create({
24
27
  baseURL,
25
28
  headers: {
26
29
  "x-api-key": options.apiKey,
27
30
  },
31
+ });
32
+ axiosClient.interceptors.response.use((response) => {
33
+ const request = response.config;
34
+ this.logger?.debug({
35
+ request: { url: request.url, method: request.method },
36
+ response: { status: response.status },
37
+ }, "Response received");
38
+ return response;
39
+ }, (error) => {
40
+ const request = error.config;
41
+ this.logger?.error({
42
+ request: { url: request.url, method: request.method },
43
+ response: error.response
44
+ ? { status: error.response.status, data: error.response.data }
45
+ : undefined,
46
+ error: error.message,
47
+ }, "Error received");
48
+ return Promise.reject(new AuthticonApiError(error.message, error.status, error));
49
+ });
50
+ this.client = createClient({
51
+ axios: axiosClient,
28
52
  throwOnError: true,
29
53
  });
30
54
  this.cookiesAdapter = options.cookies;
@@ -40,18 +64,18 @@ export class Authticon {
40
64
  jwksCacheTtlMs: options.jwksCacheTtlMs,
41
65
  cookies: options.cookies,
42
66
  storage: options.tokenStorage,
43
- });
67
+ }, this.logger?.child({ authticon: "token-manager" }));
44
68
  }
45
69
  hasSession() {
46
- return this.tokens.hasStorage() && this.tokens.getAccessToken() !== null;
70
+ return this.tokens.hasStorage() && this.tokens.getAccessToken();
47
71
  }
48
72
  async verifyToken() {
49
73
  try {
50
74
  this.tokens.verifyToken();
51
75
  }
52
76
  catch (error) {
53
- if (error instanceof jose.errors.JOSEError &&
54
- error.code === "ERR_JWT_EXPIRED") {
77
+ if (isAuthticonTokenError(error) && error.code === "ERR_JWT_EXPIRED") {
78
+ this.logger?.debug("Token expired, refreshing");
55
79
  const result = await this.auth.refresh(this.tokens.getRefreshToken());
56
80
  this.tokens.setAccessToken(result.accessToken);
57
81
  }
@@ -67,7 +91,7 @@ export class Authticon {
67
91
  }
68
92
  cookies() {
69
93
  if (!this.cookiesAdapter) {
70
- throw new Error("Cookies not set");
94
+ throw new AuthticonError("Cookies not set");
71
95
  }
72
96
  return this.cookiesAdapter;
73
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Authticon.js","sourceRoot":"","sources":["../src/Authticon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Authticon.js","sourceRoot":"","sources":["../src/Authticon.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,29 @@
1
+ import type { Logger } from "pino";
1
2
  import type { Client } from "./generated/client/index.js";
2
- import type { AccessTokenPayload, JWTPayload, TokenManagerOptions, TokenPair } from "./types.js";
3
+ import type { AccessTokenPayload, TokenManagerOptions, TokenPair } from "./types.js";
3
4
  export declare class TokenManager<Payload extends Record<string, any> = Record<string, any>> {
4
5
  private readonly client;
5
6
  private readonly verifier;
6
7
  private readonly storage;
7
- constructor(client: Client, options: TokenManagerOptions);
8
+ constructor(client: Client, options: TokenManagerOptions, logger?: Logger);
8
9
  private requireStorage;
9
10
  readonly verifyToken: (token?: string) => Promise<AccessTokenPayload<Payload>>;
10
11
  readonly clearKeyCache: () => void;
11
12
  readonly save: (tokens: TokenPair) => void;
12
13
  readonly setAccessToken: (accessToken: string) => void;
14
+ readonly setRefreshToken: (refreshToken: string) => void;
15
+ readonly setRememberToken: (rememberToken: string) => void;
13
16
  readonly getAccessToken: () => string | null;
14
17
  readonly getRefreshToken: () => string | null;
15
- readonly setRememberToken: (rememberToken: string) => void;
16
18
  readonly getRememberToken: () => string | null;
17
19
  readonly getDeviceId: () => string | null;
18
20
  readonly setDeviceId: (deviceId: string) => void;
19
21
  readonly getAll: () => TokenPair | null;
20
22
  readonly clear: () => void;
23
+ readonly clearAccessToken: () => void;
24
+ readonly clearRefreshToken: () => void;
25
+ readonly clearDeviceId: () => void;
26
+ readonly clearRememberToken: () => void;
21
27
  readonly hasStorage: () => boolean;
22
- readonly verifyStoredAccessToken: () => Promise<JWTPayload | null>;
23
28
  }
24
29
  //# sourceMappingURL=TokenManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY,CACvB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG3B,MAAM,EAAE,MAAM,EAC/B,OAAO,EAAE,mBAAmB;IAQ9B,OAAO,CAAC,cAAc;IAStB,QAAQ,CAAC,WAAW,GAClB,QAAQ,MAAM,KACb,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAC2B;IAElE,QAAQ,CAAC,aAAa,QAAO,IAAI,CAAkC;IAEnE,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CACJ;IAErC,QAAQ,CAAC,cAAc,GAAI,aAAa,MAAM,KAAG,IAAI,CACD;IAEpD,QAAQ,CAAC,cAAc,sBAAgD;IAEvE,QAAQ,CAAC,eAAe,sBAAiD;IAEzE,QAAQ,CAAC,gBAAgB,GAAI,eAAe,MAAM,KAAG,IAAI,CACD;IAExD,QAAQ,CAAC,gBAAgB,sBAAkD;IAE3E,QAAQ,CAAC,WAAW,sBAA6C;IAEjE,QAAQ,CAAC,WAAW,GAAI,UAAU,MAAM,KAAG,IAAI,CACD;IAE9C,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAAmC;IAEzE,QAAQ,CAAC,KAAK,QAAO,IAAI,CAAkC;IAE3D,QAAQ,CAAC,UAAU,QAAO,OAAO,CAA0B;IAE3D,QAAQ,CAAC,uBAAuB,QAAa,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAIrE;CACH"}
1
+ {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY,CACvB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG3B,MAAM,EAAE,MAAM,EAC/B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,MAAM;IAgBjB,OAAO,CAAC,cAAc;IAStB,QAAQ,CAAC,WAAW,GAClB,QAAQ,MAAM,KACb,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAMrC;IAEF,QAAQ,CAAC,aAAa,QAAO,IAAI,CAAkC;IAEnE,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CACJ;IAErC,QAAQ,CAAC,cAAc,GAAI,aAAa,MAAM,KAAG,IAAI,CACD;IAEpD,QAAQ,CAAC,eAAe,GAAI,cAAc,MAAM,KAAG,IAAI,CACD;IAEtD,QAAQ,CAAC,gBAAgB,GAAI,eAAe,MAAM,KAAG,IAAI,CACD;IAExD,QAAQ,CAAC,cAAc,sBAAgD;IAEvE,QAAQ,CAAC,eAAe,sBAAiD;IAEzE,QAAQ,CAAC,gBAAgB,sBAAkD;IAE3E,QAAQ,CAAC,WAAW,sBAA6C;IAEjE,QAAQ,CAAC,WAAW,GAAI,UAAU,MAAM,KAAG,IAAI,CACD;IAE9C,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAAmC;IAEzE,QAAQ,CAAC,KAAK,QAAO,IAAI,CAAkC;IAE3D,QAAQ,CAAC,gBAAgB,QAAO,IAAI,CACO;IAE3C,QAAQ,CAAC,iBAAiB,QAAO,IAAI,CACO;IAE5C,QAAQ,CAAC,aAAa,QAAO,IAAI,CAA0C;IAE3E,QAAQ,CAAC,kBAAkB,QAAO,IAAI,CACO;IAE7C,QAAQ,CAAC,UAAU,QAAO,OAAO,CAA0B;CAC5D"}
@@ -1,40 +1,46 @@
1
+ import { AuthticonError } from "./errors.js";
1
2
  import { TokenStorage } from "./TokenStorage.js";
2
3
  import { TokenVerifier } from "./TokenVerifier.js";
3
4
  export class TokenManager {
4
5
  client;
5
6
  verifier;
6
7
  storage;
7
- constructor(client, options) {
8
+ constructor(client, options, logger) {
8
9
  this.client = client;
9
- this.verifier = new TokenVerifier(options.jwksUrl, options.jwksCacheTtlMs);
10
+ this.verifier = new TokenVerifier(options.jwksUrl, options.jwksCacheTtlMs, logger?.child({ authticon: "token-verifier", verifier: "verifier" }));
10
11
  this.storage = options.cookies
11
- ? new TokenStorage(options.cookies, options.storage)
12
+ ? new TokenStorage(options.cookies, options.storage, logger?.child({ authticon: "token-storage", storage: "storage" }))
12
13
  : null;
13
14
  }
14
15
  requireStorage() {
15
16
  if (!this.storage) {
16
- throw new Error("TokenStorage is not configured. Provide a CookieAdapter to enable token storage.");
17
+ throw new AuthticonError("TokenStorage is not configured. Provide a CookieAdapter to enable token storage.");
17
18
  }
18
19
  return this.storage;
19
20
  }
20
- verifyToken = async (token) => this.verifier.verifyToken(token ?? this.getAccessToken() ?? "");
21
+ verifyToken = async (token) => {
22
+ const accessToken = token ?? this.getAccessToken();
23
+ if (!accessToken) {
24
+ throw new AuthticonError("No access token found");
25
+ }
26
+ return this.verifier.verifyToken(accessToken);
27
+ };
21
28
  clearKeyCache = () => this.verifier.clearKeyCache();
22
29
  save = (tokens) => this.requireStorage().save(tokens);
23
30
  setAccessToken = (accessToken) => this.requireStorage().setAccessToken(accessToken);
31
+ setRefreshToken = (refreshToken) => this.requireStorage().setRefreshToken(refreshToken);
32
+ setRememberToken = (rememberToken) => this.requireStorage().setRememberToken(rememberToken);
24
33
  getAccessToken = () => this.requireStorage().getAccessToken();
25
34
  getRefreshToken = () => this.requireStorage().getRefreshToken();
26
- setRememberToken = (rememberToken) => this.requireStorage().setRememberToken(rememberToken);
27
35
  getRememberToken = () => this.requireStorage().getRememberToken();
28
36
  getDeviceId = () => this.requireStorage().getDeviceId();
29
37
  setDeviceId = (deviceId) => this.requireStorage().setDeviceId(deviceId);
30
38
  getAll = () => this.requireStorage().getAll();
31
39
  clear = () => this.requireStorage().clear();
40
+ clearAccessToken = () => this.requireStorage().clearAccessToken();
41
+ clearRefreshToken = () => this.requireStorage().clearRefreshToken();
42
+ clearDeviceId = () => this.requireStorage().clearDeviceId();
43
+ clearRememberToken = () => this.requireStorage().clearRememberToken();
32
44
  hasStorage = () => this.storage !== null;
33
- verifyStoredAccessToken = async () => {
34
- const token = this.requireStorage().getAccessToken();
35
- if (!token)
36
- return null;
37
- return this.verifier.verifyToken(token);
38
- };
39
45
  }
40
46
  //# sourceMappingURL=TokenManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQnD,MAAM,OAAO,YAAY;IAOJ;IAJF,QAAQ,CAAyB;IACjC,OAAO,CAAsB;IAE9C,YACmB,MAAc,EAC/B,OAA4B;QADX,WAAM,GAAN,MAAM,CAAQ;QAG/B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;YAC5B,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,WAAW,GAAG,KAAK,EAC1B,KAAc,EACwB,EAAE,CACxC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzD,aAAa,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAE1D,IAAI,GAAG,CAAC,MAAiB,EAAQ,EAAE,CAC1C,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,cAAc,GAAG,CAAC,WAAmB,EAAQ,EAAE,CACtD,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE3C,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;IAE9D,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;IAEhE,gBAAgB,GAAG,CAAC,aAAqB,EAAQ,EAAE,CAC1D,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAE/C,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAElE,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;IAExD,WAAW,GAAG,CAAC,QAAgB,EAAQ,EAAE,CAChD,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,GAAG,GAAqB,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;IAEhE,KAAK,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;IAElD,UAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAElD,uBAAuB,GAAG,KAAK,IAAgC,EAAE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,MAAM,OAAO,YAAY;IAOJ;IAJF,QAAQ,CAAyB;IACjC,OAAO,CAAsB;IAE9C,YACmB,MAAc,EAC/B,OAA4B,EAC5B,MAAe;QAFE,WAAM,GAAN,MAAM,CAAQ;QAI/B,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAC/B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,cAAc,EACtB,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CACrE,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;YAC5B,CAAC,CAAC,IAAI,YAAY,CACd,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,EACf,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAClE;YACH,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,cAAc,CACtB,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,WAAW,GAAG,KAAK,EAC1B,KAAc,EACwB,EAAE;QACxC,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,cAAc,CAAC,uBAAuB,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC;IAEO,aAAa,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAE1D,IAAI,GAAG,CAAC,MAAiB,EAAQ,EAAE,CAC1C,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,cAAc,GAAG,CAAC,WAAmB,EAAQ,EAAE,CACtD,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE3C,eAAe,GAAG,CAAC,YAAoB,EAAQ,EAAE,CACxD,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAE7C,gBAAgB,GAAG,CAAC,aAAqB,EAAQ,EAAE,CAC1D,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAE/C,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;IAE9D,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;IAEhE,gBAAgB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAElE,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,CAAC;IAExD,WAAW,GAAG,CAAC,QAAgB,EAAQ,EAAE,CAChD,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,GAAG,GAAqB,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;IAEhE,KAAK,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;IAElD,gBAAgB,GAAG,GAAS,EAAE,CACrC,IAAI,CAAC,cAAc,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAElC,iBAAiB,GAAG,GAAS,EAAE,CACtC,IAAI,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAEnC,aAAa,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE,CAAC;IAElE,kBAAkB,GAAG,GAAS,EAAE,CACvC,IAAI,CAAC,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC;IAEpC,UAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;CAC5D"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
2
  import { TokenManager } from "./TokenManager.js";
3
3
  vi.mock("./TokenVerifier.js", () => ({
4
4
  TokenVerifier: class {
@@ -34,28 +34,19 @@ describe("TokenManager", () => {
34
34
  expect(manager.hasStorage()).toBe(false);
35
35
  });
36
36
  it("should throw on save without adapter", () => {
37
- expect(() => manager.save({ accessToken: "a", refreshToken: "r", deviceId: "d" }))
38
- .toThrow("TokenStorage is not configured");
37
+ expect(() => manager.save({ accessToken: "a", refreshToken: "r", deviceId: "d" })).toThrow("TokenStorage is not configured");
39
38
  });
40
39
  it("should throw on getAccessToken without adapter", () => {
41
- expect(() => manager.getAccessToken())
42
- .toThrow("TokenStorage is not configured");
40
+ expect(() => manager.getAccessToken()).toThrow("TokenStorage is not configured");
43
41
  });
44
42
  it("should throw on getRefreshToken without adapter", () => {
45
- expect(() => manager.getRefreshToken())
46
- .toThrow("TokenStorage is not configured");
43
+ expect(() => manager.getRefreshToken()).toThrow("TokenStorage is not configured");
47
44
  });
48
45
  it("should throw on getAll without adapter", () => {
49
- expect(() => manager.getAll())
50
- .toThrow("TokenStorage is not configured");
46
+ expect(() => manager.getAll()).toThrow("TokenStorage is not configured");
51
47
  });
52
48
  it("should throw on clear without adapter", () => {
53
- expect(() => manager.clear())
54
- .toThrow("TokenStorage is not configured");
55
- });
56
- it("should throw on verifyStoredAccessToken without adapter", async () => {
57
- await expect(manager.verifyStoredAccessToken())
58
- .rejects.toThrow("TokenStorage is not configured");
49
+ expect(() => manager.clear()).toThrow("TokenStorage is not configured");
59
50
  });
60
51
  });
61
52
  describe("with storage (CookieAdapter provided)", () => {
@@ -72,7 +63,11 @@ describe("TokenManager", () => {
72
63
  expect(manager.hasStorage()).toBe(true);
73
64
  });
74
65
  it("should save tokens via adapter", () => {
75
- manager.save({ accessToken: "abc", refreshToken: "xyz", deviceId: "dev-1" });
66
+ manager.save({
67
+ accessToken: "abc",
68
+ refreshToken: "xyz",
69
+ deviceId: "dev-1",
70
+ });
76
71
  expect(adapter.set).toHaveBeenCalledTimes(3);
77
72
  expect(adapter.set).toHaveBeenCalledWith("access_token", "abc", expect.any(Object));
78
73
  expect(adapter.set).toHaveBeenCalledWith("refresh_token", "xyz", expect.any(Object));
@@ -104,16 +99,7 @@ describe("TokenManager", () => {
104
99
  });
105
100
  it("should clear tokens via adapter", () => {
106
101
  manager.clear();
107
- expect(adapter.remove).toHaveBeenCalledTimes(3);
108
- });
109
- it("should verify stored access token", async () => {
110
- vi.mocked(adapter.get).mockReturnValue("stored-jwt");
111
- const payload = await manager.verifyStoredAccessToken();
112
- expect(payload).toEqual({ sub: "user-1", exp: 9999999999 });
113
- });
114
- it("should return null from verifyStoredAccessToken when no token stored", async () => {
115
- const payload = await manager.verifyStoredAccessToken();
116
- expect(payload).toBeNull();
102
+ expect(adapter.remove).toHaveBeenCalledTimes(4);
117
103
  });
118
104
  });
119
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.test.js","sourceRoot":"","sources":["../src/TokenManager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenManager.test.js","sourceRoot":"","sources":["../src/TokenManager.test.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,29 @@
1
+ import type { Logger } from "pino";
1
2
  import type { CookieAdapter, TokenPair, TokenStorageOptions } from "./types.js";
2
3
  export declare class TokenStorage {
3
4
  private readonly cookies;
5
+ private readonly logger?;
4
6
  private readonly accessName;
5
7
  private readonly refreshName;
6
8
  private readonly deviceIdName;
7
9
  private readonly rememberName;
8
10
  private readonly setOptions;
9
11
  private readonly removeOptions;
10
- constructor(cookies: CookieAdapter, options?: TokenStorageOptions);
12
+ constructor(cookies: CookieAdapter, options?: TokenStorageOptions, logger?: Logger | undefined);
11
13
  readonly save: (tokens: TokenPair) => void;
12
- readonly setAccessToken: (accessToken: string) => void;
14
+ readonly clear: () => void;
13
15
  readonly getAccessToken: () => string | null;
14
16
  readonly getRefreshToken: () => string | null;
15
17
  readonly getDeviceId: () => string | null;
16
- readonly setRememberToken: (rememberToken: string) => void;
17
18
  readonly getRememberToken: () => string | null;
19
+ readonly setAccessToken: (accessToken: string) => void;
20
+ readonly setRememberToken: (rememberToken: string) => void;
21
+ readonly setRefreshToken: (refreshToken: string) => void;
18
22
  readonly setDeviceId: (deviceId: string) => void;
23
+ readonly clearDeviceId: () => void;
24
+ readonly clearRememberToken: () => void;
25
+ readonly clearRefreshToken: () => void;
26
+ readonly clearAccessToken: () => void;
19
27
  readonly getAll: () => TokenPair | null;
20
- readonly clear: () => void;
21
28
  }
22
29
  //# sourceMappingURL=TokenStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../src/TokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,SAAS,EACT,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB,qBAAa,YAAY;IAcrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAb1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAGjC,OAAO,EAAE,aAAa,EACvC,OAAO,GAAE,mBAAwB;IA+CnC,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CAyBvC;IAEF,QAAQ,CAAC,cAAc,GAAI,aAAa,MAAM,KAAG,IAAI,CACoB;IAEzE,QAAQ,CAAC,cAAc,sBAA2C;IAElE,QAAQ,CAAC,eAAe,sBAA4C;IAEpE,QAAQ,CAAC,WAAW,sBAA6C;IAEjE,QAAQ,CAAC,gBAAgB,GAAI,eAAe,MAAM,KAAG,IAAI,CAKrD;IAEJ,QAAQ,CAAC,gBAAgB,sBAA6C;IAEtE,QAAQ,CAAC,WAAW,GAAI,UAAU,MAAM,KAAG,IAAI,CAC2B;IAE1E,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAUpC;IAEF,QAAQ,CAAC,KAAK,QAAO,IAAI,CAIvB;CACH"}
1
+ {"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../src/TokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EACV,aAAa,EAGb,SAAS,EACT,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB,qBAAa,YAAY;IAcrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAf1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAGjC,OAAO,EAAE,aAAa,EACvC,OAAO,GAAE,mBAAwB,EAChB,MAAM,CAAC,EAAE,MAAM,YAAA;IA+ClC,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CASvC;IAEF,QAAQ,CAAC,KAAK,QAAO,IAAI,CAKvB;IAEF,QAAQ,CAAC,cAAc,sBAA2C;IAElE,QAAQ,CAAC,eAAe,sBAA4C;IAEpE,QAAQ,CAAC,WAAW,sBAA6C;IAEjE,QAAQ,CAAC,gBAAgB,sBAA6C;IAEtE,QAAQ,CAAC,cAAc,GAAI,aAAa,MAAM,KAAG,IAAI,CAMnD;IAEF,QAAQ,CAAC,gBAAgB,GAAI,eAAe,MAAM,KAAG,IAAI,CAUvD;IAEF,QAAQ,CAAC,eAAe,GAAI,cAAc,MAAM,KAAG,IAAI,CAMrD;IAEF,QAAQ,CAAC,WAAW,GAAI,UAAU,MAAM,KAAG,IAAI,CAG7C;IAEF,QAAQ,CAAC,aAAa,QAAO,IAAI,CAG/B;IAEF,QAAQ,CAAC,kBAAkB,QAAO,IAAI,CAGpC;IAEF,QAAQ,CAAC,iBAAiB,QAAO,IAAI,CAGnC;IAEF,QAAQ,CAAC,gBAAgB,QAAO,IAAI,CAGlC;IAEF,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAUpC;CACH"}
@@ -7,14 +7,16 @@ const DEFAULT_REFRESH_TOKEN_MAX_AGE = 2_592_000;
7
7
  const DEFAULT_REMEMBER_TOKEN_MAX_AGE = 7_776_000;
8
8
  export class TokenStorage {
9
9
  cookies;
10
+ logger;
10
11
  accessName;
11
12
  refreshName;
12
13
  deviceIdName;
13
14
  rememberName;
14
15
  setOptions;
15
16
  removeOptions;
16
- constructor(cookies, options = {}) {
17
+ constructor(cookies, options = {}, logger) {
17
18
  this.cookies = cookies;
19
+ this.logger = logger;
18
20
  this.accessName = options.accessTokenName ?? DEFAULT_ACCESS_TOKEN_NAME;
19
21
  this.refreshName = options.refreshTokenName ?? DEFAULT_REFRESH_TOKEN_NAME;
20
22
  this.deviceIdName = options.deviceIdName ?? DEFAULT_DEVICE_ID_NAME;
@@ -57,22 +59,57 @@ export class TokenStorage {
57
59
  this.removeOptions = { path, domain };
58
60
  }
59
61
  save = (tokens) => {
60
- this.cookies.set(this.accessName, tokens.accessToken, this.setOptions.access);
61
- this.cookies.set(this.refreshName, tokens.refreshToken, this.setOptions.refresh);
62
+ this.setAccessToken(tokens.accessToken);
63
+ this.setRefreshToken(tokens.refreshToken);
62
64
  if (tokens.deviceId) {
63
- this.cookies.set(this.deviceIdName, tokens.deviceId, this.setOptions.deviceId);
65
+ this.setDeviceId(tokens.deviceId);
64
66
  }
65
67
  if (tokens.rememberToken) {
66
- this.cookies.set(this.rememberName, tokens.rememberToken, this.setOptions.remember);
68
+ this.setRememberToken(tokens.rememberToken);
67
69
  }
68
70
  };
69
- setAccessToken = (accessToken) => this.cookies.set(this.accessName, accessToken, this.setOptions.access);
71
+ clear = () => {
72
+ this.clearAccessToken();
73
+ this.clearRefreshToken();
74
+ this.clearDeviceId();
75
+ this.clearRememberToken();
76
+ };
70
77
  getAccessToken = () => this.cookies.get(this.accessName);
71
78
  getRefreshToken = () => this.cookies.get(this.refreshName);
72
79
  getDeviceId = () => this.cookies.get(this.deviceIdName);
73
- setRememberToken = (rememberToken) => this.cookies.set(this.rememberName, rememberToken, this.setOptions.remember);
74
80
  getRememberToken = () => this.cookies.get(this.rememberName);
75
- setDeviceId = (deviceId) => this.cookies.set(this.deviceIdName, deviceId, this.setOptions.deviceId);
81
+ setAccessToken = (accessToken) => {
82
+ this.logger?.debug({ accessToken: accessToken.slice(0, 10) + "..." }, "Setting access token");
83
+ this.cookies.set(this.accessName, accessToken, this.setOptions.access);
84
+ };
85
+ setRememberToken = (rememberToken) => {
86
+ this.logger?.debug({ rememberToken: rememberToken.slice(0, 10) + "..." }, "Setting remember token");
87
+ this.cookies.set(this.rememberName, rememberToken, this.setOptions.remember);
88
+ };
89
+ setRefreshToken = (refreshToken) => {
90
+ this.logger?.debug({ refreshToken: refreshToken.slice(0, 10) + "..." }, "Setting refresh token");
91
+ this.cookies.set(this.refreshName, refreshToken, this.setOptions.refresh);
92
+ };
93
+ setDeviceId = (deviceId) => {
94
+ this.logger?.debug({ deviceId }, "Setting device id");
95
+ this.cookies.set(this.deviceIdName, deviceId, this.setOptions.deviceId);
96
+ };
97
+ clearDeviceId = () => {
98
+ this.logger?.debug("Clearing device id");
99
+ this.cookies.remove(this.deviceIdName, this.removeOptions);
100
+ };
101
+ clearRememberToken = () => {
102
+ this.logger?.debug("Clearing remember token");
103
+ this.cookies.remove(this.rememberName, this.removeOptions);
104
+ };
105
+ clearRefreshToken = () => {
106
+ this.logger?.debug("Clearing refresh token");
107
+ this.cookies.remove(this.refreshName, this.removeOptions);
108
+ };
109
+ clearAccessToken = () => {
110
+ this.logger?.debug("Clearing access token");
111
+ this.cookies.remove(this.accessName, this.removeOptions);
112
+ };
76
113
  getAll = () => {
77
114
  const accessToken = this.getAccessToken();
78
115
  const refreshToken = this.getRefreshToken();
@@ -85,10 +122,5 @@ export class TokenStorage {
85
122
  rememberToken: this.getRememberToken() ?? undefined,
86
123
  };
87
124
  };
88
- clear = () => {
89
- this.cookies.remove(this.accessName, this.removeOptions);
90
- this.cookies.remove(this.refreshName, this.removeOptions);
91
- this.cookies.remove(this.rememberName, this.removeOptions);
92
- };
93
125
  }
94
126
  //# sourceMappingURL=TokenStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenStorage.js","sourceRoot":"","sources":["../src/TokenStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenStorage.js","sourceRoot":"","sources":["../src/TokenStorage.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
+ import type { Logger } from "pino";
1
2
  import type { AccessTokenPayload } from "./types.js";
2
3
  export declare class TokenVerifier<Payload extends Record<string, any>> {
3
4
  private readonly jwksUrl;
4
5
  private readonly cacheTtlMs;
6
+ private readonly logger?;
5
7
  private cached;
6
- constructor(jwksUrl: string, cacheTtlMs?: number);
8
+ constructor(jwksUrl: string, cacheTtlMs?: number, logger?: Logger | undefined);
7
9
  private readonly fetchJwks;
8
10
  private readonly getCachedOrFetch;
9
11
  private readonly resolveKey;
@@ -1 +1 @@
1
- {"version":3,"file":"TokenVerifier.d.ts","sourceRoot":"","sources":["../src/TokenVerifier.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkCrD,qBAAa,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI1D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,MAAM,CAA2B;gBAGtB,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAA6B;IAG5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAOxB;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAO/B;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAczB;IAEF,QAAQ,CAAC,WAAW,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAShF;IAEF,QAAQ,CAAC,aAAa,QAAO,IAAI,CAE/B;CACH"}
1
+ {"version":3,"file":"TokenVerifier.d.ts","sourceRoot":"","sources":["../src/TokenVerifier.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiCrD,qBAAa,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI1D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAL1B,OAAO,CAAC,MAAM,CAA2B;gBAGtB,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAA6B,EACzC,MAAM,CAAC,EAAE,MAAM,YAAA;IAGlC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAQxB;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAO/B;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAYzB;IAEF,QAAQ,CAAC,WAAW,GAClB,OAAO,MAAM,KACZ,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CA0BrC;IAEF,QAAQ,CAAC,aAAa,QAAO,IAAI,CAG/B;CACH"}
@@ -1,5 +1,7 @@
1
1
  import axios from "axios";
2
- import { decodeProtectedHeader, importJWK, jwtVerify } from "jose";
2
+ import * as jose from "jose";
3
+ import { decodeProtectedHeader, importJWK, jwtVerify, } from "jose";
4
+ import { AuthticonError, AuthticonTokenError } from "./errors.js";
3
5
  const DEFAULT_CACHE_TTL_MS = 3_600_000;
4
6
  const importKeysFromJwks = async (jwks) => {
5
7
  const keysWithKid = jwks.filter((jwk) => typeof jwk.kid === "string");
@@ -15,15 +17,18 @@ const importKeysFromJwks = async (jwks) => {
15
17
  export class TokenVerifier {
16
18
  jwksUrl;
17
19
  cacheTtlMs;
20
+ logger;
18
21
  cached = null;
19
- constructor(jwksUrl, cacheTtlMs = DEFAULT_CACHE_TTL_MS) {
22
+ constructor(jwksUrl, cacheTtlMs = DEFAULT_CACHE_TTL_MS, logger) {
20
23
  this.jwksUrl = jwksUrl;
21
24
  this.cacheTtlMs = cacheTtlMs;
25
+ this.logger = logger;
22
26
  }
23
27
  fetchJwks = async () => {
24
28
  const { data } = await axios.get(this.jwksUrl);
25
29
  const keys = await importKeysFromJwks(data.keys);
26
30
  this.cached = { keys, fetchedAt: Date.now() };
31
+ this.logger?.debug({ jwksUrl: this.jwksUrl }, "JWKS fetched");
27
32
  return keys;
28
33
  };
29
34
  getCachedOrFetch = async () => {
@@ -41,21 +46,34 @@ export class TokenVerifier {
41
46
  const freshKeys = await this.fetchJwks();
42
47
  const freshKey = freshKeys.get(kid);
43
48
  if (!freshKey) {
44
- throw new Error(`Key with kid "${kid}" not found in JWKS`);
49
+ throw new AuthticonError(`Key with kid "${kid}" not found in JWKS`);
45
50
  }
46
51
  return freshKey;
47
52
  };
48
53
  verifyToken = async (token) => {
49
- const header = decodeProtectedHeader(token);
50
- if (!header.kid) {
51
- throw new Error("Token header is missing 'kid' claim");
54
+ try {
55
+ const header = decodeProtectedHeader(token);
56
+ if (!header.kid) {
57
+ throw new AuthticonError("Token header is missing 'kid' claim");
58
+ }
59
+ const key = await this.resolveKey(header.kid);
60
+ const { payload } = await jwtVerify(token, key);
61
+ this.logger?.debug({
62
+ sessionId: payload.authticon.sessionId,
63
+ userId: payload.authticon.userId,
64
+ }, "Token verified");
65
+ return payload;
66
+ }
67
+ catch (error) {
68
+ if (error instanceof jose.errors.JOSEError) {
69
+ throw new AuthticonTokenError(error.message, error.code, error);
70
+ }
71
+ throw error;
52
72
  }
53
- const key = await this.resolveKey(header.kid);
54
- const { payload } = await jwtVerify(token, key);
55
- return payload;
56
73
  };
57
74
  clearKeyCache = () => {
58
75
  this.cached = null;
76
+ this.logger?.debug("Key cache cleared");
59
77
  };
60
78
  }
61
79
  //# sourceMappingURL=TokenVerifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenVerifier.js","sourceRoot":"","sources":["../src/TokenVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenVerifier.js","sourceRoot":"","sources":["../src/TokenVerifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { AxiosError } from "axios";
2
+ import type * as jose from "jose";
3
+ export declare class AuthticonError extends Error {
4
+ constructor(message: string);
5
+ }
6
+ export declare class AuthticonApiError extends AuthticonError {
7
+ readonly statusCode: number;
8
+ readonly axiosError: AxiosError;
9
+ constructor(message: string, statusCode: number, axiosError: AxiosError);
10
+ toJSON(): {
11
+ statusCode: number;
12
+ };
13
+ }
14
+ export declare class AuthticonTokenError extends AuthticonError {
15
+ readonly code: string;
16
+ readonly joseError: jose.errors.JOSEError;
17
+ constructor(message: string, code: string, joseError: jose.errors.JOSEError);
18
+ }
19
+ export declare function isAuthticonError(error: unknown): error is AuthticonError;
20
+ export declare function isAuthticonApiError(error: unknown): error is AuthticonApiError;
21
+ export declare function isAuthticonTokenError(error: unknown): error is AuthticonTokenError;
22
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAElC,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,iBAAkB,SAAQ,cAAc;aAGjC,UAAU,EAAE,MAAM;aAClB,UAAU,EAAE,UAAU;gBAFtC,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU;IAKxC,MAAM;;;CAMP;AAED,qBAAa,mBAAoB,SAAQ,cAAc;aAGnC,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAFhD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;CAInD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAExE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,iBAAiB,CAE5B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B"}
package/dist/errors.js ADDED
@@ -0,0 +1,39 @@
1
+ export class AuthticonError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ }
5
+ }
6
+ export class AuthticonApiError extends AuthticonError {
7
+ statusCode;
8
+ axiosError;
9
+ constructor(message, statusCode, axiosError) {
10
+ super(message);
11
+ this.statusCode = statusCode;
12
+ this.axiosError = axiosError;
13
+ }
14
+ toJSON() {
15
+ return {
16
+ ...this.axiosError.toJSON(),
17
+ statusCode: this.statusCode,
18
+ };
19
+ }
20
+ }
21
+ export class AuthticonTokenError extends AuthticonError {
22
+ code;
23
+ joseError;
24
+ constructor(message, code, joseError) {
25
+ super(message);
26
+ this.code = code;
27
+ this.joseError = joseError;
28
+ }
29
+ }
30
+ export function isAuthticonError(error) {
31
+ return error instanceof AuthticonError;
32
+ }
33
+ export function isAuthticonApiError(error) {
34
+ return error instanceof AuthticonApiError;
35
+ }
36
+ export function isAuthticonTokenError(error) {
37
+ return error instanceof AuthticonTokenError;
38
+ }
39
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IAGjC;IACA;IAHlB,YACE,OAAe,EACC,UAAkB,EAClB,UAAsB;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,eAAU,GAAV,UAAU,CAAQ;QAClB,eAAU,GAAV,UAAU,CAAY;IAGxC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IAGnC;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,SAAgC;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAuB;IAGlD,CAAC;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,KAAK,YAAY,cAAc,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAc;IAEd,OAAO,KAAK,YAAY,iBAAiB,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAc;IAEd,OAAO,KAAK,YAAY,mBAAmB,CAAC;AAC9C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Auth } from "./Auth.js";
2
2
  export { Authticon, createAuthticon } from "./Authticon.js";
3
3
  export { createCookieStorageAdapter } from "./CookieStorageAdapter.js";
4
+ export * from "./errors.js";
4
5
  export { TokenManager } from "./TokenManager.js";
5
6
  export { TokenStorage } from "./TokenStorage.js";
6
7
  export { TokenVerifier } from "./TokenVerifier.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,mBAAmB,YAAY,CAAC;AAChC,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,mBAAmB,YAAY,CAAC;AAChC,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Auth } from "./Auth.js";
2
2
  export { Authticon, createAuthticon } from "./Authticon.js";
3
3
  export { createCookieStorageAdapter } from "./CookieStorageAdapter.js";
4
+ export * from "./errors.js";
4
5
  export { TokenManager } from "./TokenManager.js";
5
6
  export { TokenStorage } from "./TokenStorage.js";
6
7
  export { TokenVerifier } from "./TokenVerifier.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authticon/client",
3
- "version": "0.0.0-beta16",
3
+ "version": "0.0.0-beta18",
4
4
  "description": "Official Authticon API client for Node.js",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,6 +42,7 @@
42
42
  "prepublishOnly": "npm run build"
43
43
  },
44
44
  "dependencies": {
45
+ "@types/pino": "^7.0.5",
45
46
  "axios": "^1.13.6",
46
47
  "cookie": "^1.1.1",
47
48
  "jose": "^6.2.0"