mezon-js 2.13.44 → 2.13.46
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/api.gen.ts +3 -0
- package/client.ts +15 -1
- package/dist/api.gen.d.ts +1 -0
- package/dist/client.d.ts +6 -0
- package/dist/mezon-js.cjs.js +21 -5
- package/dist/mezon-js.esm.mjs +21 -5
- package/dist/session.d.ts +5 -2
- package/package.json +1 -1
- package/session.ts +9 -4
package/api.gen.ts
CHANGED
|
@@ -2445,7 +2445,10 @@ export interface ApiSession {
|
|
|
2445
2445
|
token?: string;
|
|
2446
2446
|
// Whether to enable "Remember Me" for extended session duration.
|
|
2447
2447
|
is_remember?: boolean;
|
|
2448
|
+
// endpoint url that belong to user
|
|
2448
2449
|
api_url?: string;
|
|
2450
|
+
// id token for zklogin
|
|
2451
|
+
id_token?: string;
|
|
2449
2452
|
}
|
|
2450
2453
|
|
|
2451
2454
|
/** Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. */
|
package/client.ts
CHANGED
|
@@ -471,6 +471,15 @@ export class Client {
|
|
|
471
471
|
this.apiClient = new MezonApi(serverkey, timeout, basePath);
|
|
472
472
|
}
|
|
473
473
|
|
|
474
|
+
/**
|
|
475
|
+
* Called when a token refresh is initiated.
|
|
476
|
+
* This is a placeholder method that subclasses or instances can override
|
|
477
|
+
* to perform actions before or after the refresh logic.
|
|
478
|
+
*/
|
|
479
|
+
onRefreshSession(session: ApiSession): void {
|
|
480
|
+
console.log(`Token refresh occurred. Token: ${session.token}`);
|
|
481
|
+
}
|
|
482
|
+
|
|
474
483
|
/** check session isexpired */
|
|
475
484
|
isexpired(session: Session): boolean {
|
|
476
485
|
return session.isexpired(Date.now() / 1000)
|
|
@@ -505,7 +514,8 @@ export class Client {
|
|
|
505
514
|
apiSession.refresh_token || "",
|
|
506
515
|
apiSession.created || false,
|
|
507
516
|
apiSession.api_url || "",
|
|
508
|
-
|
|
517
|
+
apiSession.id_token || "",
|
|
518
|
+
false,
|
|
509
519
|
);
|
|
510
520
|
});
|
|
511
521
|
}
|
|
@@ -563,6 +573,7 @@ export class Client {
|
|
|
563
573
|
apiSession.refresh_token || "",
|
|
564
574
|
apiSession.created || false,
|
|
565
575
|
apiSession.api_url || "",
|
|
576
|
+
apiSession.id_token || "",
|
|
566
577
|
false,
|
|
567
578
|
);
|
|
568
579
|
});
|
|
@@ -592,6 +603,7 @@ export class Client {
|
|
|
592
603
|
apiSession.refresh_token || "",
|
|
593
604
|
apiSession.created || false,
|
|
594
605
|
apiSession.api_url || "",
|
|
606
|
+
apiSession.id_token || "",
|
|
595
607
|
false,
|
|
596
608
|
);
|
|
597
609
|
});
|
|
@@ -2110,6 +2122,7 @@ export class Client {
|
|
|
2110
2122
|
}
|
|
2111
2123
|
);
|
|
2112
2124
|
session.update(apiSession.token!, apiSession.refresh_token!, apiSession.is_remember || false);
|
|
2125
|
+
this.onRefreshSession(apiSession);
|
|
2113
2126
|
resolve(session);
|
|
2114
2127
|
} catch (error) {
|
|
2115
2128
|
console.error("Session refresh failed:", error);
|
|
@@ -3966,6 +3979,7 @@ export class Client {
|
|
|
3966
3979
|
apiSession.refresh_token || "",
|
|
3967
3980
|
apiSession.created || false,
|
|
3968
3981
|
apiSession.api_url || "",
|
|
3982
|
+
apiSession.id_token || "",
|
|
3969
3983
|
apiSession.is_remember || false
|
|
3970
3984
|
);
|
|
3971
3985
|
}
|
package/dist/api.gen.d.ts
CHANGED
|
@@ -1400,6 +1400,7 @@ export interface ApiSession {
|
|
|
1400
1400
|
token?: string;
|
|
1401
1401
|
is_remember?: boolean;
|
|
1402
1402
|
api_url?: string;
|
|
1403
|
+
id_token?: string;
|
|
1403
1404
|
}
|
|
1404
1405
|
/** Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. */
|
|
1405
1406
|
export interface ApiSessionLogoutRequest {
|
package/dist/client.d.ts
CHANGED
|
@@ -230,6 +230,12 @@ export declare class Client {
|
|
|
230
230
|
port: string;
|
|
231
231
|
useSSL: boolean;
|
|
232
232
|
constructor(serverkey?: string, host?: string, port?: string, useSSL?: boolean, timeout?: number, autoRefreshSession?: boolean);
|
|
233
|
+
/**
|
|
234
|
+
* Called when a token refresh is initiated.
|
|
235
|
+
* This is a placeholder method that subclasses or instances can override
|
|
236
|
+
* to perform actions before or after the refresh logic.
|
|
237
|
+
*/
|
|
238
|
+
onRefreshSession(session: ApiSession): void;
|
|
233
239
|
/** check session isexpired */
|
|
234
240
|
isexpired(session: Session): boolean;
|
|
235
241
|
/** Authenticate a user with a custom id against the server. */
|
package/dist/mezon-js.cjs.js
CHANGED
|
@@ -7207,20 +7207,23 @@ var MezonApi = class {
|
|
|
7207
7207
|
|
|
7208
7208
|
// session.ts
|
|
7209
7209
|
var Session = class _Session {
|
|
7210
|
-
constructor(token, refresh_token, created,
|
|
7210
|
+
constructor(token, refresh_token, created, apiurl, idtoken, is_remember) {
|
|
7211
7211
|
this.created = created;
|
|
7212
|
-
this.
|
|
7212
|
+
this.apiurl = apiurl;
|
|
7213
|
+
this.idtoken = idtoken;
|
|
7213
7214
|
this.token = token;
|
|
7214
7215
|
this.refresh_token = refresh_token;
|
|
7216
|
+
this.id_token = idtoken;
|
|
7217
|
+
this.api_url = apiurl;
|
|
7215
7218
|
this.created_at = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
7216
7219
|
this.is_remember = is_remember;
|
|
7217
7220
|
this.update(token, refresh_token, is_remember);
|
|
7218
7221
|
}
|
|
7219
7222
|
isexpired(currenttime) {
|
|
7220
|
-
return this.expires_at - currenttime <=
|
|
7223
|
+
return this.expires_at - currenttime <= 0;
|
|
7221
7224
|
}
|
|
7222
7225
|
isrefreshexpired(currenttime) {
|
|
7223
|
-
return this.refresh_expires_at - currenttime <=
|
|
7226
|
+
return this.refresh_expires_at - currenttime <= 0;
|
|
7224
7227
|
}
|
|
7225
7228
|
update(token, refreshToken, isRemember) {
|
|
7226
7229
|
const tokenParts = token.split(".");
|
|
@@ -7247,7 +7250,7 @@ var Session = class _Session {
|
|
|
7247
7250
|
this.vars = tokenDecoded["vrs"];
|
|
7248
7251
|
}
|
|
7249
7252
|
static restore(token, refreshToken, api_url, isRemember) {
|
|
7250
|
-
return new _Session(token, refreshToken, false, api_url, isRemember);
|
|
7253
|
+
return new _Session(token, refreshToken, false, api_url, "", isRemember);
|
|
7251
7254
|
}
|
|
7252
7255
|
};
|
|
7253
7256
|
|
|
@@ -8546,6 +8549,14 @@ var Client = class {
|
|
|
8546
8549
|
const basePath = `${scheme}${host}:${port}`;
|
|
8547
8550
|
this.apiClient = new MezonApi(serverkey, timeout, basePath);
|
|
8548
8551
|
}
|
|
8552
|
+
/**
|
|
8553
|
+
* Called when a token refresh is initiated.
|
|
8554
|
+
* This is a placeholder method that subclasses or instances can override
|
|
8555
|
+
* to perform actions before or after the refresh logic.
|
|
8556
|
+
*/
|
|
8557
|
+
onRefreshSession(session) {
|
|
8558
|
+
console.log(`Token refresh occurred. Token: ${session.token}`);
|
|
8559
|
+
}
|
|
8549
8560
|
/** check session isexpired */
|
|
8550
8561
|
isexpired(session) {
|
|
8551
8562
|
return session.isexpired(Date.now() / 1e3);
|
|
@@ -8570,6 +8581,7 @@ var Client = class {
|
|
|
8570
8581
|
apiSession.refresh_token || "",
|
|
8571
8582
|
apiSession.created || false,
|
|
8572
8583
|
apiSession.api_url || "",
|
|
8584
|
+
apiSession.id_token || "",
|
|
8573
8585
|
false
|
|
8574
8586
|
);
|
|
8575
8587
|
});
|
|
@@ -8608,6 +8620,7 @@ var Client = class {
|
|
|
8608
8620
|
apiSession.refresh_token || "",
|
|
8609
8621
|
apiSession.created || false,
|
|
8610
8622
|
apiSession.api_url || "",
|
|
8623
|
+
apiSession.id_token || "",
|
|
8611
8624
|
false
|
|
8612
8625
|
);
|
|
8613
8626
|
});
|
|
@@ -8629,6 +8642,7 @@ var Client = class {
|
|
|
8629
8642
|
apiSession.refresh_token || "",
|
|
8630
8643
|
apiSession.created || false,
|
|
8631
8644
|
apiSession.api_url || "",
|
|
8645
|
+
apiSession.id_token || "",
|
|
8632
8646
|
false
|
|
8633
8647
|
);
|
|
8634
8648
|
});
|
|
@@ -9573,6 +9587,7 @@ var Client = class {
|
|
|
9573
9587
|
}
|
|
9574
9588
|
);
|
|
9575
9589
|
session.update(apiSession.token, apiSession.refresh_token, apiSession.is_remember || false);
|
|
9590
|
+
this.onRefreshSession(apiSession);
|
|
9576
9591
|
resolve(session);
|
|
9577
9592
|
} catch (error) {
|
|
9578
9593
|
console.error("Session refresh failed:", error);
|
|
@@ -10626,6 +10641,7 @@ var Client = class {
|
|
|
10626
10641
|
apiSession.refresh_token || "",
|
|
10627
10642
|
apiSession.created || false,
|
|
10628
10643
|
apiSession.api_url || "",
|
|
10644
|
+
apiSession.id_token || "",
|
|
10629
10645
|
apiSession.is_remember || false
|
|
10630
10646
|
);
|
|
10631
10647
|
});
|
package/dist/mezon-js.esm.mjs
CHANGED
|
@@ -7173,20 +7173,23 @@ var MezonApi = class {
|
|
|
7173
7173
|
|
|
7174
7174
|
// session.ts
|
|
7175
7175
|
var Session = class _Session {
|
|
7176
|
-
constructor(token, refresh_token, created,
|
|
7176
|
+
constructor(token, refresh_token, created, apiurl, idtoken, is_remember) {
|
|
7177
7177
|
this.created = created;
|
|
7178
|
-
this.
|
|
7178
|
+
this.apiurl = apiurl;
|
|
7179
|
+
this.idtoken = idtoken;
|
|
7179
7180
|
this.token = token;
|
|
7180
7181
|
this.refresh_token = refresh_token;
|
|
7182
|
+
this.id_token = idtoken;
|
|
7183
|
+
this.api_url = apiurl;
|
|
7181
7184
|
this.created_at = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
|
|
7182
7185
|
this.is_remember = is_remember;
|
|
7183
7186
|
this.update(token, refresh_token, is_remember);
|
|
7184
7187
|
}
|
|
7185
7188
|
isexpired(currenttime) {
|
|
7186
|
-
return this.expires_at - currenttime <=
|
|
7189
|
+
return this.expires_at - currenttime <= 0;
|
|
7187
7190
|
}
|
|
7188
7191
|
isrefreshexpired(currenttime) {
|
|
7189
|
-
return this.refresh_expires_at - currenttime <=
|
|
7192
|
+
return this.refresh_expires_at - currenttime <= 0;
|
|
7190
7193
|
}
|
|
7191
7194
|
update(token, refreshToken, isRemember) {
|
|
7192
7195
|
const tokenParts = token.split(".");
|
|
@@ -7213,7 +7216,7 @@ var Session = class _Session {
|
|
|
7213
7216
|
this.vars = tokenDecoded["vrs"];
|
|
7214
7217
|
}
|
|
7215
7218
|
static restore(token, refreshToken, api_url, isRemember) {
|
|
7216
|
-
return new _Session(token, refreshToken, false, api_url, isRemember);
|
|
7219
|
+
return new _Session(token, refreshToken, false, api_url, "", isRemember);
|
|
7217
7220
|
}
|
|
7218
7221
|
};
|
|
7219
7222
|
|
|
@@ -8512,6 +8515,14 @@ var Client = class {
|
|
|
8512
8515
|
const basePath = `${scheme}${host}:${port}`;
|
|
8513
8516
|
this.apiClient = new MezonApi(serverkey, timeout, basePath);
|
|
8514
8517
|
}
|
|
8518
|
+
/**
|
|
8519
|
+
* Called when a token refresh is initiated.
|
|
8520
|
+
* This is a placeholder method that subclasses or instances can override
|
|
8521
|
+
* to perform actions before or after the refresh logic.
|
|
8522
|
+
*/
|
|
8523
|
+
onRefreshSession(session) {
|
|
8524
|
+
console.log(`Token refresh occurred. Token: ${session.token}`);
|
|
8525
|
+
}
|
|
8515
8526
|
/** check session isexpired */
|
|
8516
8527
|
isexpired(session) {
|
|
8517
8528
|
return session.isexpired(Date.now() / 1e3);
|
|
@@ -8536,6 +8547,7 @@ var Client = class {
|
|
|
8536
8547
|
apiSession.refresh_token || "",
|
|
8537
8548
|
apiSession.created || false,
|
|
8538
8549
|
apiSession.api_url || "",
|
|
8550
|
+
apiSession.id_token || "",
|
|
8539
8551
|
false
|
|
8540
8552
|
);
|
|
8541
8553
|
});
|
|
@@ -8574,6 +8586,7 @@ var Client = class {
|
|
|
8574
8586
|
apiSession.refresh_token || "",
|
|
8575
8587
|
apiSession.created || false,
|
|
8576
8588
|
apiSession.api_url || "",
|
|
8589
|
+
apiSession.id_token || "",
|
|
8577
8590
|
false
|
|
8578
8591
|
);
|
|
8579
8592
|
});
|
|
@@ -8595,6 +8608,7 @@ var Client = class {
|
|
|
8595
8608
|
apiSession.refresh_token || "",
|
|
8596
8609
|
apiSession.created || false,
|
|
8597
8610
|
apiSession.api_url || "",
|
|
8611
|
+
apiSession.id_token || "",
|
|
8598
8612
|
false
|
|
8599
8613
|
);
|
|
8600
8614
|
});
|
|
@@ -9539,6 +9553,7 @@ var Client = class {
|
|
|
9539
9553
|
}
|
|
9540
9554
|
);
|
|
9541
9555
|
session.update(apiSession.token, apiSession.refresh_token, apiSession.is_remember || false);
|
|
9556
|
+
this.onRefreshSession(apiSession);
|
|
9542
9557
|
resolve(session);
|
|
9543
9558
|
} catch (error) {
|
|
9544
9559
|
console.error("Session refresh failed:", error);
|
|
@@ -10592,6 +10607,7 @@ var Client = class {
|
|
|
10592
10607
|
apiSession.refresh_token || "",
|
|
10593
10608
|
apiSession.created || false,
|
|
10594
10609
|
apiSession.api_url || "",
|
|
10610
|
+
apiSession.id_token || "",
|
|
10595
10611
|
apiSession.is_remember || false
|
|
10596
10612
|
);
|
|
10597
10613
|
});
|
package/dist/session.d.ts
CHANGED
|
@@ -42,9 +42,12 @@ export interface ISession {
|
|
|
42
42
|
}
|
|
43
43
|
export declare class Session implements ISession {
|
|
44
44
|
readonly created: boolean;
|
|
45
|
-
readonly
|
|
45
|
+
readonly apiurl: string;
|
|
46
|
+
readonly idtoken: string;
|
|
46
47
|
token: string;
|
|
47
48
|
readonly created_at: number;
|
|
49
|
+
readonly api_url: string;
|
|
50
|
+
readonly id_token: string;
|
|
48
51
|
expires_at?: number;
|
|
49
52
|
refresh_expires_at?: number;
|
|
50
53
|
refresh_token: string;
|
|
@@ -52,7 +55,7 @@ export declare class Session implements ISession {
|
|
|
52
55
|
user_id?: string;
|
|
53
56
|
vars?: object;
|
|
54
57
|
is_remember?: boolean;
|
|
55
|
-
constructor(token: string, refresh_token: string, created: boolean,
|
|
58
|
+
constructor(token: string, refresh_token: string, created: boolean, apiurl: string, idtoken: string, is_remember: boolean);
|
|
56
59
|
isexpired(currenttime: number): boolean;
|
|
57
60
|
isrefreshexpired(currenttime: number): boolean;
|
|
58
61
|
update(token: string, refreshToken: string, isRemember: boolean): void;
|
package/package.json
CHANGED
package/session.ts
CHANGED
|
@@ -50,6 +50,8 @@ export class Session implements ISession {
|
|
|
50
50
|
|
|
51
51
|
token : string;
|
|
52
52
|
readonly created_at: number;
|
|
53
|
+
readonly api_url: string;
|
|
54
|
+
readonly id_token: string;
|
|
53
55
|
expires_at?: number;
|
|
54
56
|
refresh_expires_at?: number;
|
|
55
57
|
refresh_token: string;
|
|
@@ -62,21 +64,24 @@ export class Session implements ISession {
|
|
|
62
64
|
token: string,
|
|
63
65
|
refresh_token: string,
|
|
64
66
|
readonly created: boolean,
|
|
65
|
-
readonly
|
|
67
|
+
readonly apiurl: string,
|
|
68
|
+
readonly idtoken: string,
|
|
66
69
|
is_remember: boolean) {
|
|
67
70
|
this.token = token;
|
|
68
71
|
this.refresh_token = refresh_token;
|
|
72
|
+
this.id_token = idtoken;
|
|
73
|
+
this.api_url = apiurl;
|
|
69
74
|
this.created_at = Math.floor(new Date().getTime() / 1000);
|
|
70
75
|
this.is_remember = is_remember;
|
|
71
76
|
this.update(token, refresh_token, is_remember);
|
|
72
77
|
}
|
|
73
78
|
|
|
74
79
|
isexpired(currenttime: number): boolean {
|
|
75
|
-
return (this.expires_at! - currenttime) <=
|
|
80
|
+
return (this.expires_at! - currenttime) <= 0; // expired
|
|
76
81
|
}
|
|
77
82
|
|
|
78
83
|
isrefreshexpired(currenttime: number): boolean {
|
|
79
|
-
return (this.refresh_expires_at! - currenttime) <=
|
|
84
|
+
return (this.refresh_expires_at! - currenttime) <= 0;
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
update(token: string, refreshToken: string, isRemember: boolean) {
|
|
@@ -114,6 +119,6 @@ export class Session implements ISession {
|
|
|
114
119
|
}
|
|
115
120
|
|
|
116
121
|
static restore(token: string, refreshToken: string, api_url: string, isRemember: boolean): Session {
|
|
117
|
-
return new Session(token, refreshToken, false, api_url, isRemember);
|
|
122
|
+
return new Session(token, refreshToken, false, api_url, "", isRemember);
|
|
118
123
|
}
|
|
119
124
|
}
|