lambder 1.0.112 → 1.0.113

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/Lambder.js CHANGED
@@ -303,7 +303,7 @@ export default class Lambder {
303
303
  response.multiValueHeaders = {
304
304
  ...(response.multiValueHeaders || {}),
305
305
  "Set-Cookie": [
306
- `${this.sessionTokenCookieKey}=${ctx.session.sessionToken}; Expires=${new Date(ctx.session.expiresAt * 1000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
306
+ `${this.sessionTokenCookieKey}=${ctx.session.sessionToken}; Expires=${new Date(ctx.session.expiresAt * 1000).toUTCString()}; Path=/; HttpOnly; SameSite=Lax; Secure`,
307
307
  `${this.sessionCsrfCookieKey}=${ctx.session.csrfToken}; Expires=${new Date(ctx.session.expiresAt * 1000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
308
308
  ],
309
309
  };
@@ -313,7 +313,7 @@ export default class Lambder {
313
313
  response.multiValueHeaders = {
314
314
  ...(response.multiValueHeaders || {}),
315
315
  "Set-Cookie": [
316
- `${this.sessionTokenCookieKey}=0; Expires=${new Date(Date.now() - 100000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
316
+ `${this.sessionTokenCookieKey}=0; Expires=${new Date(Date.now() - 100000).toUTCString()}; Path=/; HttpOnly; SameSite=Lax; Secure`,
317
317
  `${this.sessionCsrfCookieKey}=0; Expires=${new Date(Date.now() - 100000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
318
318
  ],
319
319
  };
@@ -35,10 +35,12 @@ export default class LambderCaller {
35
35
  private errorHandler?;
36
36
  private fetchStartedHandler?;
37
37
  private fetchEndedHandler?;
38
- constructor({ isCorsEnabled, apiPath, apiVersion, versionExpiredHandler, sessionExpiredHandler, messageHandler, errorMessageHandler, notAuthorizedHandler, errorHandler, fetchStartedHandler, fetchEndedHandler, }: {
39
- isCorsEnabled: boolean;
38
+ private sessionTokenCookieKey;
39
+ private sessionCsrfCookieKey;
40
+ constructor({ apiPath, apiVersion, isCorsEnabled, versionExpiredHandler, sessionExpiredHandler, messageHandler, errorMessageHandler, notAuthorizedHandler, errorHandler, fetchStartedHandler, fetchEndedHandler, }: {
40
41
  apiPath: string;
41
42
  apiVersion?: string;
43
+ isCorsEnabled: boolean;
42
44
  versionExpiredHandler?: VoidFunction;
43
45
  sessionExpiredHandler?: VoidFunction;
44
46
  messageHandler?: MessageHandler;
@@ -48,6 +50,7 @@ export default class LambderCaller {
48
50
  fetchStartedHandler?: FetchStartEventHandler;
49
51
  fetchEndedHandler?: FetchEndEventHandler;
50
52
  });
53
+ setSessionCookieKey(sessionTokenCookieKey: string, sessionCsrfCookieKey: string): void;
51
54
  apiRaw<T = any>(apiName: string, payload?: any, options?: {
52
55
  headers?: Record<string, any>;
53
56
  versionExpiredHandler?: VoidFunction;
@@ -13,10 +13,12 @@ export default class LambderCaller {
13
13
  errorHandler;
14
14
  fetchStartedHandler;
15
15
  fetchEndedHandler;
16
- constructor({ isCorsEnabled = false, apiPath, apiVersion, versionExpiredHandler, sessionExpiredHandler, messageHandler, errorMessageHandler, notAuthorizedHandler, errorHandler, fetchStartedHandler, fetchEndedHandler, }) {
17
- this.isCorsEnabled = isCorsEnabled;
16
+ sessionTokenCookieKey = "LMDRSESSIONTKID";
17
+ sessionCsrfCookieKey = "LMDRSESSIONCSTK";
18
+ constructor({ apiPath, apiVersion, isCorsEnabled = false, versionExpiredHandler, sessionExpiredHandler, messageHandler, errorMessageHandler, notAuthorizedHandler, errorHandler, fetchStartedHandler, fetchEndedHandler, }) {
18
19
  this.apiPath = apiPath ?? "/api";
19
20
  this.apiVersion = apiVersion;
21
+ this.isCorsEnabled = isCorsEnabled;
20
22
  this.versionExpiredHandler = versionExpiredHandler;
21
23
  this.sessionExpiredHandler = sessionExpiredHandler;
22
24
  this.messageHandler = messageHandler;
@@ -27,6 +29,10 @@ export default class LambderCaller {
27
29
  this.fetchEndedHandler = fetchEndedHandler;
28
30
  }
29
31
  ;
32
+ setSessionCookieKey(sessionTokenCookieKey, sessionCsrfCookieKey) {
33
+ this.sessionTokenCookieKey = sessionTokenCookieKey;
34
+ this.sessionCsrfCookieKey = sessionCsrfCookieKey;
35
+ }
30
36
  async apiRaw(apiName, payload, options) {
31
37
  const headers = options?.headers;
32
38
  const fetchTracker = { apiName, done: false, fetchEndCalled: false };
@@ -38,7 +44,7 @@ export default class LambderCaller {
38
44
  activeFetchList: this.fetchTrackerList.filter(v => !v.done)
39
45
  });
40
46
  const version = this.apiVersion;
41
- const token = Cookies.get("LMDRSESSIONCSTK") || "";
47
+ const token = Cookies.get(this.sessionCsrfCookieKey) || "";
42
48
  const siteHost = window.location.hostname;
43
49
  let data = await fetch(this.apiPath, {
44
50
  method: 'POST', mode: 'same-origin', cache: 'no-cache',
@@ -69,8 +75,8 @@ export default class LambderCaller {
69
75
  return null;
70
76
  }
71
77
  if (data && data.sessionExpired) {
72
- Cookies.set('LMBDRAUTHID', '', { expires: -1 });
73
- Cookies.set('LMBDRTOKEN', '', { expires: -1 });
78
+ Cookies.set(this.sessionTokenCookieKey, '', { expires: -1 });
79
+ Cookies.set(this.sessionCsrfCookieKey, '', { expires: -1 });
74
80
  if (this.sessionExpiredHandler) {
75
81
  await this.sessionExpiredHandler();
76
82
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lambder",
3
- "version": "1.0.112",
3
+ "version": "1.0.113",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/Lambder.ts CHANGED
@@ -377,7 +377,7 @@ export default class Lambder {
377
377
  response.multiValueHeaders = {
378
378
  ...(response.multiValueHeaders || {}),
379
379
  "Set-Cookie": [
380
- `${this.sessionTokenCookieKey}=${ctx.session.sessionToken}; Expires=${new Date(ctx.session.expiresAt * 1000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
380
+ `${this.sessionTokenCookieKey}=${ctx.session.sessionToken}; Expires=${new Date(ctx.session.expiresAt * 1000).toUTCString()}; Path=/; HttpOnly; SameSite=Lax; Secure`,
381
381
  `${this.sessionCsrfCookieKey}=${ctx.session.csrfToken}; Expires=${new Date(ctx.session.expiresAt * 1000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
382
382
  ],
383
383
  };
@@ -386,7 +386,7 @@ export default class Lambder {
386
386
  response.multiValueHeaders = {
387
387
  ...(response.multiValueHeaders || {}),
388
388
  "Set-Cookie": [
389
- `${this.sessionTokenCookieKey}=0; Expires=${new Date(Date.now() - 100000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
389
+ `${this.sessionTokenCookieKey}=0; Expires=${new Date(Date.now() - 100000).toUTCString()}; Path=/; HttpOnly; SameSite=Lax; Secure`,
390
390
  `${this.sessionCsrfCookieKey}=0; Expires=${new Date(Date.now() - 100000).toUTCString()}; Path=/; SameSite=Lax; Secure`,
391
391
  ],
392
392
  };
@@ -42,18 +42,22 @@ export default class LambderCaller {
42
42
  private fetchStartedHandler?: FetchStartEventHandler;
43
43
  private fetchEndedHandler?: FetchEndEventHandler;
44
44
 
45
+ private sessionTokenCookieKey = "LMDRSESSIONTKID";
46
+ private sessionCsrfCookieKey = "LMDRSESSIONCSTK";
47
+
45
48
  constructor(
46
49
  {
47
- isCorsEnabled = false, apiPath, apiVersion,
50
+ apiPath, apiVersion,
51
+ isCorsEnabled = false,
48
52
  versionExpiredHandler, sessionExpiredHandler,
49
53
  messageHandler, errorMessageHandler,
50
54
  notAuthorizedHandler, errorHandler,
51
55
  fetchStartedHandler, fetchEndedHandler,
52
56
  }:
53
57
  {
54
- isCorsEnabled: boolean,
55
58
  apiPath: string,
56
59
  apiVersion?: string,
60
+ isCorsEnabled: boolean,
57
61
  versionExpiredHandler?: VoidFunction,
58
62
  sessionExpiredHandler?: VoidFunction,
59
63
  messageHandler?: MessageHandler,
@@ -64,9 +68,9 @@ export default class LambderCaller {
64
68
  fetchEndedHandler?: FetchEndEventHandler,
65
69
  }
66
70
  ){
67
- this.isCorsEnabled = isCorsEnabled;
68
71
  this.apiPath = apiPath ?? "/api";
69
72
  this.apiVersion = apiVersion;
73
+ this.isCorsEnabled = isCorsEnabled;
70
74
 
71
75
  this.versionExpiredHandler = versionExpiredHandler;
72
76
  this.sessionExpiredHandler = sessionExpiredHandler;
@@ -81,6 +85,11 @@ export default class LambderCaller {
81
85
 
82
86
  };
83
87
 
88
+ setSessionCookieKey(sessionTokenCookieKey: string, sessionCsrfCookieKey: string){
89
+ this.sessionTokenCookieKey = sessionTokenCookieKey;
90
+ this.sessionCsrfCookieKey = sessionCsrfCookieKey;
91
+ }
92
+
84
93
  async apiRaw<T=any>(apiName: string, payload?: any, options?: {
85
94
  headers?: Record<string, any>
86
95
  versionExpiredHandler?: VoidFunction,
@@ -101,7 +110,7 @@ export default class LambderCaller {
101
110
  activeFetchList: this.fetchTrackerList.filter(v=>!v.done)
102
111
  });
103
112
  const version = this.apiVersion;
104
- const token = Cookies.get("LMDRSESSIONCSTK") || "";
113
+ const token = Cookies.get(this.sessionCsrfCookieKey) || "";
105
114
  const siteHost = window.location.hostname;
106
115
  let data = await fetch(this.apiPath, {
107
116
  method: 'POST', mode: 'same-origin', cache: 'no-cache',
@@ -130,8 +139,8 @@ export default class LambderCaller {
130
139
  return null;
131
140
  }
132
141
  if(data && data.sessionExpired){
133
- Cookies.set('LMBDRAUTHID', '', { expires: -1 });
134
- Cookies.set('LMBDRTOKEN', '', { expires: -1 });
142
+ Cookies.set(this.sessionTokenCookieKey, '', { expires: -1 });
143
+ Cookies.set(this.sessionCsrfCookieKey, '', { expires: -1 });
135
144
  if(this.sessionExpiredHandler){
136
145
  await this.sessionExpiredHandler();
137
146
  }else if(this.errorHandler){