@smg-automotive/auth 6.2.0-middleware-token-refresh.2 → 6.3.0-middleware-token-refresh.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.
Files changed (42) hide show
  1. package/dist/cjs/apiRoutes/handlers/creators/token.d.ts +1 -1
  2. package/dist/cjs/apiRoutes/handlers/creators/token.js +4 -2
  3. package/dist/cjs/apiRoutes/handlers/creators/token.js.map +1 -1
  4. package/dist/cjs/contexts/Auth.js +67 -19
  5. package/dist/cjs/contexts/Auth.js.map +1 -1
  6. package/dist/cjs/getServerAuthProps/app.d.ts +2 -1
  7. package/dist/cjs/getServerAuthProps/app.js +5 -4
  8. package/dist/cjs/getServerAuthProps/app.js.map +1 -1
  9. package/dist/cjs/getServerAuthProps/getAuthProps.js +11 -13
  10. package/dist/cjs/getServerAuthProps/getAuthProps.js.map +1 -1
  11. package/dist/cjs/getServerAuthProps/pages.js +4 -3
  12. package/dist/cjs/getServerAuthProps/pages.js.map +1 -1
  13. package/dist/cjs/lib/request/getAccessToken.d.ts +5 -4
  14. package/dist/cjs/lib/request/getAccessToken.js +82 -2
  15. package/dist/cjs/lib/request/getAccessToken.js.map +1 -1
  16. package/dist/cjs/lib/request/inFlightAccessTokenCache.d.ts +8 -0
  17. package/dist/cjs/lib/request/inFlightAccessTokenCache.js +6 -0
  18. package/dist/cjs/lib/request/inFlightAccessTokenCache.js.map +1 -0
  19. package/dist/cjs/middleware.js +8 -0
  20. package/dist/cjs/middleware.js.map +1 -1
  21. package/dist/esm/apiRoutes/handlers/creators/token.d.ts +1 -1
  22. package/dist/esm/apiRoutes/handlers/creators/token.js +4 -2
  23. package/dist/esm/apiRoutes/handlers/creators/token.js.map +1 -1
  24. package/dist/esm/contexts/Auth.js +68 -20
  25. package/dist/esm/contexts/Auth.js.map +1 -1
  26. package/dist/esm/getServerAuthProps/app.d.ts +2 -1
  27. package/dist/esm/getServerAuthProps/app.js +6 -5
  28. package/dist/esm/getServerAuthProps/app.js.map +1 -1
  29. package/dist/esm/getServerAuthProps/getAuthProps.js +10 -12
  30. package/dist/esm/getServerAuthProps/getAuthProps.js.map +1 -1
  31. package/dist/esm/getServerAuthProps/pages.js +5 -4
  32. package/dist/esm/getServerAuthProps/pages.js.map +1 -1
  33. package/dist/esm/lib/request/getAccessToken.d.ts +5 -4
  34. package/dist/esm/lib/request/getAccessToken.js +82 -2
  35. package/dist/esm/lib/request/getAccessToken.js.map +1 -1
  36. package/dist/esm/lib/request/inFlightAccessTokenCache.d.ts +8 -0
  37. package/dist/esm/lib/request/inFlightAccessTokenCache.js +4 -0
  38. package/dist/esm/lib/request/inFlightAccessTokenCache.js.map +1 -0
  39. package/dist/esm/middleware.js +8 -0
  40. package/dist/esm/middleware.js.map +1 -1
  41. package/dist/server.d.ts +2 -1
  42. package/package.json +1 -1
@@ -8,5 +8,5 @@ type ErrorResponse = {
8
8
  code: string;
9
9
  };
10
10
  type ResponseData = TokenResponse | ErrorResponse;
11
- export declare const createTokenHandler: ({ host, protocol, isProxied }: HandlerCreatorParams) => (request: NextApiRequest, response: NextApiResponse<ResponseData>) => Promise<NextApiResponse<ResponseData> | undefined>;
11
+ export declare const createTokenHandler: ({ host, protocol, isProxied }: HandlerCreatorParams) => (request: NextApiRequest, response: NextApiResponse<ResponseData>) => Promise<void>;
12
12
  export {};
@@ -19,7 +19,8 @@ var createTokenHandler = function (_a) {
19
19
  case 1:
20
20
  session = _b.sent();
21
21
  if (!session) {
22
- return [2 /*return*/, response.status(204).end()];
22
+ response.status(204).end();
23
+ return [2 /*return*/];
23
24
  }
24
25
  _a = request.query, refreshParameter = _a.refresh, sellerIdParameter = _a.sellerId;
25
26
  refresh = refreshParameter === 'true';
@@ -44,7 +45,8 @@ var createTokenHandler = function (_a) {
44
45
  case 3:
45
46
  accessToken = _b.sent();
46
47
  if (!accessToken) {
47
- return [2 /*return*/, response.status(204).end()];
48
+ response.status(204).end();
49
+ return [2 /*return*/];
48
50
  }
49
51
  response.status(200).json({
50
52
  accessToken: accessToken,
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sources":["../../../../../../src/apiRoutes/handlers/creators/token.ts"],"sourcesContent":[null],"names":["__awaiter","getAuth0Instance","getAccessToken"],"mappings":";;;;;;AAkBA,IAAM,YAAY,GAAG,UAAC,KAAc,EAAA;AAClC,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;AAE/E,CAAC;AAEM,IAAM,kBAAkB,GAC7B,UAAC,EAAmD,EAAA;AAAjD,IAAA,IAAA,IAAI,UAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;IAC5B,OAAA,UAAO,OAAuB,EAAE,QAAuC,EAAA,EAAA,OAAAA,mBAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAC/D,oBAAA,aAAa,GAAGC,iCAAgB,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;oBACrD,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;;AAA3D,oBAAA,OAAO,GAAG,EAAiD,CAAA,IAAA,EAAA;oBACjE,IAAI,CAAC,OAAO,EAAE;wBACZ,OAAO,CAAA,CAAA,aAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;;oBAIlC,EACE,GAAA,OAAO,MADwD,EAA/C,gBAAgB,aAAA,EAAY,iBAAiB,cAAA;AAE3D,oBAAA,OAAO,GAAG,gBAAgB,KAAK,MAAM;oBACrC,iBAAiB,GACrB,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACnD,0BAAE;0BACA,EAAE;;;;AAGc,oBAAA,OAAA,CAAA,CAAA,YAAMC,6BAAc,CAAC;AACvC,4BAAA,aAAa,EAAA,aAAA;AACb,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAA,QAAA;AACT,6BAAA;AACD,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAE,iBAAiB;AAC5B,6BAAA;AACF,yBAAA,CAAC,CAAA;;AAXI,oBAAA,WAAW,GAAG,EAWlB,CAAA,IAAA,EAAA;oBAEF,IAAI,CAAC,WAAW,EAAE;wBAChB,OAAO,CAAA,CAAA,aAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;;AAGpC,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,wBAAA,WAAW,EAAA,WAAA;wBACX,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,GAAG,EAAE;AACjE,qBAAA,CAAC;oBACF,QAAQ,CAAC,GAAG,EAAE;;;;AAER,oBAAA,SAAS,GAAG,YAAY,CAAC,OAAK,CAAC,GAAG,OAAK,CAAC,IAAI,GAAG,oBAAoB;AACzE,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC9C,QAAQ,CAAC,GAAG,EAAE;;;;;AAEjB,KAAA,CAAA,CAAA,EAAA;AA5CD;;;;"}
1
+ {"version":3,"file":"token.js","sources":["../../../../../../src/apiRoutes/handlers/creators/token.ts"],"sourcesContent":[null],"names":["__awaiter","getAuth0Instance","getAccessToken"],"mappings":";;;;;;AAkBA,IAAM,YAAY,GAAG,UAAC,KAAc,EAAA;AAClC,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;AAE/E,CAAC;AAEM,IAAM,kBAAkB,GAC7B,UAAC,EAAmD,EAAA;AAAjD,IAAA,IAAA,IAAI,UAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;IAC5B,OAAA,UAAO,OAAuB,EAAE,QAAuC,EAAA,EAAA,OAAAA,mBAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAC/D,oBAAA,aAAa,GAAGC,iCAAgB,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;oBACrD,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;;AAA3D,oBAAA,OAAO,GAAG,EAAiD,CAAA,IAAA,EAAA;oBACjE,IAAI,CAAC,OAAO,EAAE;wBACZ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;wBAC1B,OAAO,CAAA,CAAA,YAAA;;oBAIP,EACE,GAAA,OAAO,MADwD,EAA/C,gBAAgB,aAAA,EAAY,iBAAiB,cAAA;AAE3D,oBAAA,OAAO,GAAG,gBAAgB,KAAK,MAAM;oBACrC,iBAAiB,GACrB,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACnD,0BAAE;0BACA,EAAE;;;;AAGc,oBAAA,OAAA,CAAA,CAAA,YAAMC,6BAAc,CAAC;AACvC,4BAAA,aAAa,EAAA,aAAA;AACb,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAA,QAAA;AACT,6BAAA;AACD,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAE,iBAAiB;AAC5B,6BAAA;AACF,yBAAA,CAAC,CAAA;;AAXI,oBAAA,WAAW,GAAG,EAWlB,CAAA,IAAA,EAAA;oBAEF,IAAI,CAAC,WAAW,EAAE;wBAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;wBAC1B,OAAO,CAAA,CAAA,YAAA;;AAGT,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,wBAAA,WAAW,EAAA,WAAA;wBACX,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,GAAG,EAAE;AACjE,qBAAA,CAAC;oBACF,QAAQ,CAAC,GAAG,EAAE;;;;AAER,oBAAA,SAAS,GAAG,YAAY,CAAC,OAAK,CAAC,GAAG,OAAK,CAAC,IAAI,GAAG,oBAAoB;AACzE,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC9C,QAAQ,CAAC,GAAG,EAAE;;;;;AAEjB,KAAA,CAAA,CAAA,EAAA;AA9CD;;;;"}
@@ -3,8 +3,10 @@
3
3
 
4
4
  var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
5
5
  var React = require('react');
6
+ var i18nPkg = require('@smg-automotive/i18n-pkg');
6
7
  var brand = require('../types/brand.js');
7
8
  var session = require('../lib/enrichUser/session.js');
9
+ var authLinks = require('../lib/authLinks.js');
8
10
  var useInterval = require('../hooks/useInterval.js');
9
11
 
10
12
  var AuthContext = React.createContext({
@@ -43,6 +45,7 @@ var AuthProvider = function (_a) {
43
45
  };
44
46
  // eslint-disable-next-line react-hooks/exhaustive-deps
45
47
  }, []);
48
+ var language = i18nPkg.useI18n().language;
46
49
  var _f = React.useState({
47
50
  config: memoizedParams.config,
48
51
  accessToken: memoizedParams.accessToken,
@@ -52,8 +55,20 @@ var AuthProvider = function (_a) {
52
55
  }), contextState = _f[0], setContextState = _f[1];
53
56
  // Guard for cases like error pages where we don't need to set up auth handling
54
57
  var needsAuthHandling = !!memoizedParams.config;
55
- var tokenUpdateHandler = function () { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
56
- var tokenExpiration, refreshThreshold, body, response, error_1;
58
+ var handleAuthError = React.useCallback(function (error) {
59
+ errorHandler(error);
60
+ if (memoizedParams.config.debugForceTokenRefresh) {
61
+ // eslint-disable-next-line no-console
62
+ console.info('[Auth-package] Redirecting to login due to error', formatResponseError(error));
63
+ }
64
+ window.location.href = authLinks.getLoginLink({
65
+ auth0Config: memoizedParams.config,
66
+ language: language,
67
+ returnTo: window.location.pathname,
68
+ });
69
+ }, [errorHandler, memoizedParams.config, language]);
70
+ var tokenUpdateHandler = React.useCallback(function () { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
71
+ var tokenExpiration, refreshThreshold, isRefreshThresholdPending, isDebugForceTokenRefresh, isVisible, shouldRefresh, body, response, error_1;
57
72
  return tslib_es6.__generator(this, function (_a) {
58
73
  switch (_a.label) {
59
74
  case 0:
@@ -61,11 +76,25 @@ var AuthProvider = function (_a) {
61
76
  return [2 /*return*/];
62
77
  tokenExpiration = contextState.accessTokenExpiresAt * 1000;
63
78
  refreshThreshold = tokenExpiration - memoizedParams.config.refreshThresholdInMs;
64
- if (refreshThreshold > Date.now() &&
65
- !memoizedParams.config.debugForceTokenRefresh) {
79
+ isRefreshThresholdPending = refreshThreshold > Date.now();
80
+ isDebugForceTokenRefresh = memoizedParams.config.debugForceTokenRefresh;
81
+ isVisible = document.visibilityState === 'visible';
82
+ shouldRefresh = (!isRefreshThresholdPending || isDebugForceTokenRefresh) &&
83
+ isVisible &&
84
+ !contextState.isLoading;
85
+ if (!shouldRefresh) {
86
+ if (isDebugForceTokenRefresh) {
87
+ // eslint-disable-next-line no-console
88
+ console.info('[Auth-package] Skipping refresh', {
89
+ isVisible: isVisible,
90
+ isRefreshThresholdPending: isRefreshThresholdPending,
91
+ isDebugForceTokenRefresh: isDebugForceTokenRefresh,
92
+ isLoading: contextState.isLoading,
93
+ });
94
+ }
66
95
  return [2 /*return*/];
67
96
  }
68
- if (memoizedParams.config.debugForceTokenRefresh) {
97
+ if (isDebugForceTokenRefresh) {
69
98
  // eslint-disable-next-line no-console
70
99
  console.info('[Auth-package] Start forced token refresh', {
71
100
  time: Date.now(),
@@ -89,18 +118,10 @@ var AuthProvider = function (_a) {
89
118
  return [3 /*break*/, 5];
90
119
  case 4:
91
120
  error_1 = _a.sent();
92
- if (memoizedParams.config.debugForceTokenRefresh) {
93
- // eslint-disable-next-line no-console
94
- console.info('[Auth-package] Failed forced token refresh', {
95
- time: Date.now(),
96
- error: error_1,
97
- });
98
- }
99
- errorHandler(error_1);
100
- window.location.href = memoizedParams.config.loginEndpoint;
121
+ handleAuthError(error_1);
101
122
  return [2 /*return*/];
102
123
  case 5:
103
- if (memoizedParams.config.debugForceTokenRefresh) {
124
+ if (isDebugForceTokenRefresh) {
104
125
  // eslint-disable-next-line no-console
105
126
  console.info('[Auth-package] Successfully finished forced token refresh', {
106
127
  time: Date.now(),
@@ -119,7 +140,13 @@ var AuthProvider = function (_a) {
119
140
  return [2 /*return*/];
120
141
  }
121
142
  });
122
- }); };
143
+ }); }, [
144
+ contextState.accessTokenExpiresAt,
145
+ contextState.isLoading,
146
+ handleAuthError,
147
+ memoizedParams.config,
148
+ needsAuthHandling,
149
+ ]);
123
150
  var selectTenant = React.useCallback(function (sellerId) { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
124
151
  var response, _a, _b, _c, updatedAccessToken_1, updatedAccessTokenExpiresAt_1, userResponse, _d, _e, updatedUser, enrichedSessionUser_1, _f, error_2;
125
152
  return tslib_es6.__generator(this, function (_g) {
@@ -184,19 +211,40 @@ var AuthProvider = function (_a) {
184
211
  return [3 /*break*/, 14];
185
212
  case 13:
186
213
  error_2 = _g.sent();
187
- errorHandler(error_2);
188
- window.location.href = memoizedParams.config.loginEndpoint;
214
+ handleAuthError(error_2);
189
215
  return [2 /*return*/];
190
216
  case 14: return [2 /*return*/];
191
217
  }
192
218
  });
193
- }); }, [memoizedParams.config, errorHandler, needsAuthHandling]);
219
+ }); }, [memoizedParams.config, handleAuthError, needsAuthHandling]);
194
220
  useInterval.useInterval({
195
221
  callback: tokenUpdateHandler,
196
222
  delay: typeof ((_b = memoizedParams.config) === null || _b === void 0 ? void 0 : _b.providerInterval) === 'number'
197
223
  ? (_c = memoizedParams.config) === null || _c === void 0 ? void 0 : _c.providerInterval
198
224
  : null,
199
225
  });
226
+ React.useEffect(function () {
227
+ var handleVisibilityChange = function () { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
228
+ return tslib_es6.__generator(this, function (_a) {
229
+ switch (_a.label) {
230
+ case 0:
231
+ if (document.visibilityState !== 'visible')
232
+ return [2 /*return*/];
233
+ // Calling an endpoint to give the browser time to load the current cookies into memory
234
+ return [4 /*yield*/, fetch(memoizedParams.config.userProfileEndpoint)];
235
+ case 1:
236
+ // Calling an endpoint to give the browser time to load the current cookies into memory
237
+ _a.sent();
238
+ tokenUpdateHandler();
239
+ return [2 /*return*/];
240
+ }
241
+ });
242
+ }); };
243
+ document.addEventListener('visibilitychange', handleVisibilityChange);
244
+ return function () {
245
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
246
+ };
247
+ }, [tokenUpdateHandler, memoizedParams.config.userProfileEndpoint]);
200
248
  var memoizedContext = React.useMemo(function () {
201
249
  return {
202
250
  user: contextState.user || null,
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","sources":["../../../../src/contexts/Auth.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAqCA;AACE;AACA;;AAEA;AACA;AACD;AAED;;AAEA;AAEa;AACX;;;;;;;;AASF;AAEO;;;;;;AAQL;;;AAII;AAIA;AACA;AACA;;;;;;;;AASF;AACA;AACD;;AAGD;AAEA;;;;;AACE;;AAEM;;AAIN;AAEE;;;AAKF;;AAEE;AACE;AACD;;;AAID;AAIF;;;;;;AAIQ;AAGC;;;AAEP;;;;;;AAIA;;AAEE;AACE;AACA;AACD;;;;;;AAQL;;AAEE;AAGI;;AAED;;;;;;;;AASD;;AAEJ;;;;;AAGF;;;;;AAEI;;;AAGE;AAIF;;;;AAGmB;;AAAX;AAIF;;AACc;AAAoB;AAApC;AAME;;AAHE;AAKN;AACE;;;;AAKI;AAGF;;AACc;AAAoB;AAApC;AAE+B;;AAA3B;AACsB;AACxB;AACE;AACA;AACA;AACD;;AAJD;;;AAKA;;;;AAEJ;;;;AAII;AACA;AACA;;AAEJ;;;;;;;;;;;AAWN;AACE;;AAGI;AACA;AACL;;;AAIG;;AAEA;;AAEA;;;AAIJ;AAKF;;;"}
1
+ {"version":3,"file":"Auth.js","sources":["../../../../src/contexts/Auth.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAyCA;AACE;AACA;;AAEA;AACA;AACD;AAED;;AAEA;AAEa;AACX;;;;;;;;AASF;AAEO;;;;;;AAQL;;;AAII;AAIA;AACA;AACA;;;;AAII;;;;;AAMN;AACA;AACD;;AAGD;AAEA;;AAII;;;;AAQA;;AAEE;AACA;AACD;;;;;;;AAMH;;AAEM;;AAGA;AACA;AAEA;AAEA;;;;;;AAOF;AACE;AACA;AACA;;AAED;;;;;;AAOH;AACE;AACD;;;AAID;AAIF;;;;;;AAIQ;AAGC;;;AAEP;;;;;;;;;;;AAUA;AAGI;;AAED;;;;;;;;AASD;;AAEJ;;;;;AAEA;AACA;;AAEA;;AAED;AAED;;;;;AAEI;;;AAGE;AAIF;;;;AAGmB;;AAAX;AAIF;;AACc;AAAoB;AAApC;AAME;;AAHE;AAKN;AACE;;;;AAKI;AAGF;;AACc;AAAoB;AAApC;AAE+B;;AAA3B;AACsB;AACxB;AACE;AACA;AACA;AACD;;AAJD;;;AAKA;;;;AAEJ;;;;AAII;AACA;AACA;;AAEJ;;;;;;;;;;AASN;AACE;;AAGI;AACA;AACL;AAED;AACE;;;;AACE;;;;;;AAGA;AACA;;;;;AAGF;;AAEE;AACF;;;;AAKE;;AAEA;;AAEA;;;AAIJ;AAKF;;;"}
@@ -7,7 +7,8 @@ type GetServerAuthPropsArgs = {
7
7
  isProxied: boolean;
8
8
  brand: Brand;
9
9
  language?: Language;
10
+ url?: string;
10
11
  onError?: (error: Error) => void;
11
12
  };
12
- export declare const getServerAuthProps: ({ protocol, host, isProxied, brand, language, onError, }: GetServerAuthPropsArgs) => Promise<AuthProps>;
13
+ export declare const getServerAuthProps: ({ protocol, host, isProxied, brand, language, url, onError, }: GetServerAuthPropsArgs) => Promise<AuthProps>;
13
14
  export {};
@@ -8,8 +8,8 @@ var auth0 = require('../config/auth0.js');
8
8
  var getAuthProps = require('./getAuthProps.js');
9
9
 
10
10
  var getServerAuthProps = function (_a) { return tslib_es6.__awaiter(void 0, [_a], void 0, function (_b) {
11
- var auth0Instance, config, authProps, shouldRedirect, _c, error_1, authError, logoutUrl;
12
- var protocol = _b.protocol, host = _b.host, isProxied = _b.isProxied, brand = _b.brand, language = _b.language, onError = _b.onError;
11
+ var auth0Instance, config, authProps, shouldRedirect, _c, error_1, authError, loginLink;
12
+ var protocol = _b.protocol, host = _b.host, isProxied = _b.isProxied, brand = _b.brand, language = _b.language, url = _b.url, onError = _b.onError;
13
13
  return tslib_es6.__generator(this, function (_d) {
14
14
  switch (_d.label) {
15
15
  case 0:
@@ -46,13 +46,14 @@ var getServerAuthProps = function (_a) { return tslib_es6.__awaiter(void 0, [_a]
46
46
  return [3 /*break*/, 4];
47
47
  case 4:
48
48
  if (shouldRedirect) {
49
- logoutUrl = authLinks.getLogoutLink({
49
+ loginLink = authLinks.getLoginLink({
50
+ returnTo: url || "/".concat(language),
50
51
  auth0Config: authProps.config,
51
52
  language: language,
52
53
  });
53
54
  // redirect internally throws an error so it should be called outside of try/catch blocks
54
55
  // https://nextjs.org/docs/app/building-your-application/routing/redirecting#redirect-function
55
- navigation.redirect(logoutUrl);
56
+ navigation.redirect(loginLink);
56
57
  }
57
58
  return [2 /*return*/, authProps];
58
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sources":["../../../../src/getServerAuthProps/app.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","getAuthProps","__assign","getLogoutLink","redirect"],"mappings":";;;;;;;;;AAqBO,IAAM,kBAAkB,GAAG,2EAAO,EAOhB,EAAA;;AANvB,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,KAAK,WAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA;;;;gBAED,aAAa,GAAGA,iCAAgB,CAAC;AACrC,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;gBACG,cAAc,GAAG,KAAK;;;;6CAInB,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAMC,yBAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AANJ,gBAAA,SAAS,GAEJC,kBAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAIF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACpB,cAAc,GAAG,IAAI;;;gBAGvB,IAAI,cAAc,EAAE;oBACZ,SAAS,GAAGC,uBAAa,CAAC;wBAC9B,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,wBAAA,QAAQ,EAAA,QAAA;AACT,qBAAA,CAAC;;;oBAIFC,mBAAQ,CAAC,SAAS,CAAC;;AAGrB,gBAAA,OAAA,CAAA,CAAA,aAAO,SAAS,CAAC;;;;;;;"}
1
+ {"version":3,"file":"app.js","sources":["../../../../src/getServerAuthProps/app.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","getAuthProps","__assign","getLoginLink","redirect"],"mappings":";;;;;;;;;AAsBO,IAAM,kBAAkB,GAAG,2EAAO,EAQhB,EAAA;;AAPvB,IAAA,IAAA,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,OAAO,GAAA,EAAA,CAAA,OAAA;;;;gBAED,aAAa,GAAGA,iCAAgB,CAAC;AACrC,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;gBACG,cAAc,GAAG,KAAK;;;;6CAInB,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAMC,yBAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AANJ,gBAAA,SAAS,GAEJC,kBAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAIF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACpB,cAAc,GAAG,IAAI;;;gBAGvB,IAAI,cAAc,EAAE;oBACZ,SAAS,GAAGC,sBAAY,CAAC;AAC7B,wBAAA,QAAQ,EAAE,GAAG,IAAI,GAAA,CAAA,MAAA,CAAI,QAAQ,CAAE;wBAC/B,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,wBAAA,QAAQ,EAAA,QAAA;AACT,qBAAA,CAAC;;;oBAIFC,mBAAQ,CAAC,SAAS,CAAC;;AAGrB,gBAAA,OAAA,CAAA,CAAA,aAAO,SAAS,CAAC;;;;;;;"}
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
4
+ var getAccessToken = require('../lib/request/getAccessToken.js');
4
5
 
5
6
  var getAuthProps = function (_a) { return tslib_es6.__awaiter(void 0, [_a], void 0, function (_b) {
6
- var session, isLoggedIn, user, accessTokenExpiresAt, getAccessToken, accessToken, enrichUser, enrichedUser, _c;
7
+ var session, isLoggedIn, user, accessTokenExpiresAt, accessToken, enrichUser, enrichedUser, _c;
7
8
  var auth0Instance = _b.auth0Instance, brand = _b.brand, context = _b.context, isProxied = _b.isProxied;
8
9
  return tslib_es6.__generator(this, function (_d) {
9
10
  switch (_d.label) {
@@ -20,28 +21,25 @@ var getAuthProps = function (_a) { return tslib_es6.__awaiter(void 0, [_a], void
20
21
  }
21
22
  user = session.user;
22
23
  accessTokenExpiresAt = session.accessTokenExpiresAt;
23
- return [4 /*yield*/, Promise.resolve().then(function () { return require('../lib/request/getAccessToken.js'); })];
24
- case 2:
25
- getAccessToken = (_d.sent()).getAccessToken;
26
- return [4 /*yield*/, getAccessToken({
24
+ return [4 /*yield*/, getAccessToken.getAccessToken({
27
25
  auth0Instance: auth0Instance,
28
26
  context: context,
29
27
  isProxied: isProxied,
30
28
  })];
31
- case 3:
29
+ case 2:
32
30
  accessToken = _d.sent();
33
31
  return [4 /*yield*/, Promise.resolve().then(function () { return require('../lib/enrichUser/session.js'); })];
34
- case 4:
32
+ case 3:
35
33
  enrichUser = (_d.sent()).enrichUser;
36
- if (!accessToken) return [3 /*break*/, 6];
34
+ if (!accessToken) return [3 /*break*/, 5];
37
35
  return [4 /*yield*/, enrichUser({ user: user, accessToken: accessToken, brand: brand })];
38
- case 5:
36
+ case 4:
39
37
  _c = _d.sent();
40
- return [3 /*break*/, 7];
41
- case 6:
38
+ return [3 /*break*/, 6];
39
+ case 5:
42
40
  _c = null;
43
- _d.label = 7;
44
- case 7:
41
+ _d.label = 6;
42
+ case 6:
45
43
  enrichedUser = _c;
46
44
  return [2 /*return*/, {
47
45
  user: enrichedUser,
@@ -1 +1 @@
1
- {"version":3,"file":"getAuthProps.js","sources":["../../../../src/getServerAuthProps/getAuthProps.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAQO,IAAM,YAAY,GAAG,2EAAO,EAalC,EAAA;;QAZC,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA;;;oBAUO,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAxB,KAAA,CAAA,aAAa,GAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EACvD,CAAA;;AAFK,gBAAA,OAAO,GAAG,EAEf,CAAA,IAAA,EAAA;gBAEK,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI;gBAE9C,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,WAAW,EAAE,IAAI;AACjB,4BAAA,oBAAoB,EAAE,IAAI;yBAC3B,CAAC;;AAGE,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAoB;AACnC,gBAAA,oBAAoB,GAAG,OAAO,CAAC,oBAAqB;AAE/B,gBAAA,OAAA,CAAA,CAAA,YAAM,oDAAO,kCAAgC,KAAC,CAAA;;AAAjE,gBAAA,cAAc,GAAK,CAAA,EAA8C,CAAA,IAAA,EAAA,EAAnD,cAAA;AAEF,gBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AACvC,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AAJI,gBAAA,WAAW,GAAG,EAIlB,CAAA,IAAA,EAAA;AAEqB,gBAAA,OAAA,CAAA,CAAA,YAAM,oDAAO,8BAA4B,KAAC,CAAA;;AAAzD,gBAAA,UAAU,GAAK,CAAA,EAA0C,CAAA,IAAA,EAAA,EAA/C,UAAA;AACG,gBAAA,IAAA,CAAA,WAAW,EAAX,OAAW,CAAA,CAAA,YAAA,CAAA,CAAA;AAC5B,gBAAA,OAAA,CAAA,CAAA,YAAM,UAAU,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAA;;AAA9C,gBAAA,EAAA,GAAA,SAA8C;;;AAC9C,gBAAA,EAAA,GAAA,IAAI;;;AAFF,gBAAA,YAAY,GAEV,EAAA;gBAER,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,WAAW,EAAA,WAAA;AACX,wBAAA,oBAAoB,EAAA,oBAAA;qBACrB,CAAC;;;;;;;"}
1
+ {"version":3,"file":"getAuthProps.js","sources":["../../../../src/getServerAuthProps/getAuthProps.ts"],"sourcesContent":[null],"names":["getAccessToken"],"mappings":";;;;;AAUO,IAAM,YAAY,GAAG,2EAAO,EAalC,EAAA;;QAZC,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA;;;oBAUO,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAxB,KAAA,CAAA,aAAa,GAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EACvD,CAAA;;AAFK,gBAAA,OAAO,GAAG,EAEf,CAAA,IAAA,EAAA;gBAEK,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI;gBAE9C,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,WAAW,EAAE,IAAI;AACjB,4BAAA,oBAAoB,EAAE,IAAI;yBAC3B,CAAC;;AAGE,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAoB;AACnC,gBAAA,oBAAoB,GAAG,OAAO,CAAC,oBAAqB;AACtC,gBAAA,OAAA,CAAA,CAAA,YAAMA,6BAAc,CAAC;AACvC,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AAJI,gBAAA,WAAW,GAAG,EAIlB,CAAA,IAAA,EAAA;AAEqB,gBAAA,OAAA,CAAA,CAAA,YAAM,oDAAO,8BAA4B,KAAC,CAAA;;AAAzD,gBAAA,UAAU,GAAK,CAAA,EAA0C,CAAA,IAAA,EAAA,EAA/C,UAAA;AACG,gBAAA,IAAA,CAAA,WAAW,EAAX,OAAW,CAAA,CAAA,YAAA,CAAA,CAAA;AAC5B,gBAAA,OAAA,CAAA,CAAA,YAAM,UAAU,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAA;;AAA9C,gBAAA,EAAA,GAAA,SAA8C;;;AAC9C,gBAAA,EAAA,GAAA,IAAI;;;AAFF,gBAAA,YAAY,GAEV,EAAA;gBAER,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,WAAW,EAAA,WAAA;AACX,wBAAA,oBAAoB,EAAA,oBAAA;qBACrB,CAAC;;;;;;;"}
@@ -7,7 +7,7 @@ var auth0 = require('../config/auth0.js');
7
7
  var getAuthProps = require('./getAuthProps.js');
8
8
 
9
9
  var getServerAuthProps = function (_a) { return tslib_es6.__awaiter(void 0, [_a], void 0, function (_b) {
10
- var auth0Instance, config, authProps, _c, error_1, authError, logoutUrl, pagePropsWithAuthProps;
10
+ var auth0Instance, config, authProps, _c, error_1, authError, loginLink, pagePropsWithAuthProps;
11
11
  var request = _b.request, response = _b.response, appProps = _b.appProps, brand = _b.brand, language = _b.language, _d = _b.pageProps, pageProps = _d === void 0 ? {} : _d, onError = _b.onError, host = _b.host, protocol = _b.protocol, isProxied = _b.isProxied;
12
12
  return tslib_es6.__generator(this, function (_e) {
13
13
  switch (_e.label) {
@@ -41,12 +41,13 @@ var getServerAuthProps = function (_a) { return tslib_es6.__awaiter(void 0, [_a]
41
41
  error_1 = _e.sent();
42
42
  authError = error_1;
43
43
  onError === null || onError === void 0 ? void 0 : onError(authError);
44
- logoutUrl = authLinks.getLogoutLink({
44
+ loginLink = authLinks.getLoginLink({
45
+ returnTo: request.url || "/".concat(language),
45
46
  auth0Config: authProps.config,
46
47
  language: language,
47
48
  });
48
49
  response.writeHead(307, {
49
- Location: logoutUrl,
50
+ Location: loginLink,
50
51
  });
51
52
  response.end();
52
53
  return [3 /*break*/, 4];
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sources":["../../../../src/getServerAuthProps/pages.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","getAuthProps","__assign","getLogoutLink"],"mappings":";;;;;;;;AAgCO,IAAM,kBAAkB,GAAG,2EAEhC,EAWkC,EAAA;;AAVlC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,cAAA,EACR,EAAA,GAAA,EAAA,CAAA,SAA2B,EAA3B,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,EAAe,GAAA,EAAA,EAC3B,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA;;;;gBAIH,aAAa,GAAGA,iCAAgB,CAAC;AACrC,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;;;;6CAIM,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAMC,yBAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACT,wBAAA,OAAO,EAAE,EAAE,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAE;AAC/B,qBAAA,CAAC,CAAA;;AAPJ,gBAAA,SAAS,GAEJC,kBAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAKF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACd,SAAS,GAAGC,uBAAa,CAAC;oBAC9B,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,oBAAA,QAAQ,EAAA,QAAA;AACT,iBAAA,CAAC;AAEF,gBAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;AACtB,oBAAA,QAAQ,EAAE,SAAS;AACpB,iBAAA,CAAC;gBACF,QAAQ,CAAC,GAAG,EAAE;;;AAGV,gBAAA,sBAAsB,6CACvB,SAAS,CAAA,EAAA,EACZ,SAAS,EAAA,SAAA,GACV;gBACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;AACzD,gBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC;;;;;;;"}
1
+ {"version":3,"file":"pages.js","sources":["../../../../src/getServerAuthProps/pages.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","getAuthProps","__assign","getLoginLink"],"mappings":";;;;;;;;AAgCO,IAAM,kBAAkB,GAAG,2EAEhC,EAWkC,EAAA;;AAVlC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,cAAA,EACR,EAAA,GAAA,EAAA,CAAA,SAA2B,EAA3B,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,EAAe,GAAA,EAAA,EAC3B,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA;;;;gBAIH,aAAa,GAAGA,iCAAgB,CAAC;AACrC,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;;;;6CAIM,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAMC,yBAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACT,wBAAA,OAAO,EAAE,EAAE,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAE;AAC/B,qBAAA,CAAC,CAAA;;AAPJ,gBAAA,SAAS,GAEJC,kBAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAKF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACd,SAAS,GAAGC,sBAAY,CAAC;AAC7B,oBAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,GAAA,CAAA,MAAA,CAAI,QAAQ,CAAE;oBACvC,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,oBAAA,QAAQ,EAAA,QAAA;AACT,iBAAA,CAAC;AAEF,gBAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;AACtB,oBAAA,QAAQ,EAAE,SAAS;AACpB,iBAAA,CAAC;gBACF,QAAQ,CAAC,GAAG,EAAE;;;AAGV,gBAAA,sBAAsB,6CACvB,SAAS,CAAA,EAAA,EACZ,SAAS,EAAA,SAAA,GACV;gBACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;AACzD,gBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC;;;;;;;"}
@@ -6,11 +6,12 @@ type AccessTokenOptions = {
6
6
  refresh?: boolean;
7
7
  sellerId?: string | number;
8
8
  };
9
+ type Auth0Instance = {
10
+ getSession: GetSession;
11
+ getAccessToken: GetAccessToken;
12
+ };
9
13
  type GetAccessTokenArgs = {
10
- auth0Instance: {
11
- getSession: GetSession;
12
- getAccessToken: GetAccessToken;
13
- };
14
+ auth0Instance: Auth0Instance;
14
15
  isProxied: boolean;
15
16
  context?: {
16
17
  request: NextApiRequest;
@@ -3,6 +3,7 @@
3
3
  var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
4
4
  var jose = require('jose');
5
5
  var sessionCallbackHandler = require('./sessionCallbackHandler.js');
6
+ var inFlightAccessTokenCache = require('./inFlightAccessTokenCache.js');
6
7
 
7
8
  var determineSellerIdWithFallbacks = function (_a) {
8
9
  var sellerIdFromOptions = _a.sellerIdFromOptions, user = _a.user, accessToken = _a.accessToken;
@@ -19,6 +20,79 @@ var determineSellerIdWithFallbacks = function (_a) {
19
20
  }
20
21
  return null;
21
22
  };
23
+ var cacheReleaseDelay = 2000; // 2 seconds
24
+ var safeCleanupAfterTTL = function (key) {
25
+ var tracked = inFlightAccessTokenCache.inFlightTokenRequests.get(key);
26
+ if (!tracked)
27
+ return;
28
+ if (tracked.count > 0) {
29
+ console.debug("[Auth-package] [".concat(key, "] cleanup deferred \u2014 count=").concat(tracked.count));
30
+ setTimeout(function () { return safeCleanupAfterTTL(key); }, 500);
31
+ return;
32
+ }
33
+ var now = Date.now();
34
+ var delay = tracked.expiresAt - now;
35
+ if (delay > 0) {
36
+ console.debug("[Auth-package] [".concat(key, "] delaying final cleanup by ").concat(delay, "ms"));
37
+ setTimeout(function () { return safeCleanupAfterTTL(key); }, delay);
38
+ return;
39
+ }
40
+ console.debug("[Auth-package] [".concat(key, "] cache expired scheduling delete"));
41
+ setTimeout(function () {
42
+ inFlightAccessTokenCache.inFlightTokenRequests.delete(key);
43
+ console.debug("[Auth-package] [".concat(key, "] cache expired, cleaning up after ").concat(cacheReleaseDelay, "ms"));
44
+ }, cacheReleaseDelay);
45
+ };
46
+ var accessTokenCacheTTL = 10000; // 10 seconds
47
+ var getAccessTokenWithLock = function (key, auth0Instance, accessTokenArgs) {
48
+ console.debug("[Auth-package] getAccessTokenWithLock called at ".concat(new Date().toISOString()));
49
+ var existing = inFlightAccessTokenCache.inFlightTokenRequests.get(key);
50
+ if (existing) {
51
+ existing.count++;
52
+ console.debug("[Auth-package] [".concat(key, "] found in cache, incrementing count to ").concat(existing.count));
53
+ return existing.promise.finally(function () {
54
+ existing.count--;
55
+ console.debug("[Auth-package] existing finally [".concat(key, "] consumer finished, decrementing count to ").concat(existing.count));
56
+ if (existing.count === 0) {
57
+ safeCleanupAfterTTL(key);
58
+ }
59
+ });
60
+ }
61
+ // First consumer creates promise and adds to cache
62
+ var resolve;
63
+ var reject;
64
+ var wrapperPromise = new Promise(function (res, rej) {
65
+ resolve = res;
66
+ reject = rej;
67
+ });
68
+ inFlightAccessTokenCache.inFlightTokenRequests.set(key, {
69
+ promise: wrapperPromise,
70
+ count: 1,
71
+ expiresAt: Date.now() + accessTokenCacheTTL, // TTL in ms
72
+ });
73
+ console.debug("[Auth-package] [".concat(key, "] not in cache, creating new promise"));
74
+ auth0Instance
75
+ .getAccessToken.apply(auth0Instance, accessTokenArgs).then(function (result) {
76
+ console.debug("[Auth-package] [".concat(key, "] initial consumer finished \u2014 count=1"));
77
+ resolve(result);
78
+ })
79
+ .catch(function (err) {
80
+ console.error("[Auth-package] [".concat(key, "] Auth0 error:"), err);
81
+ inFlightAccessTokenCache.inFlightTokenRequests.delete(key);
82
+ reject(err);
83
+ })
84
+ .finally(function () {
85
+ var tracked = inFlightAccessTokenCache.inFlightTokenRequests.get(key);
86
+ if (tracked) {
87
+ tracked.count--;
88
+ console.debug("[Auth-package] original finally [".concat(key, "] initial consumer finished \u2014 count=").concat(tracked.count));
89
+ if (tracked.count === 0) {
90
+ safeCleanupAfterTTL(key);
91
+ }
92
+ }
93
+ });
94
+ return wrapperPromise;
95
+ };
22
96
  var getAccessToken = function (_a) { return tslib_es6.__awaiter(void 0, [_a], void 0, function (_b) {
23
97
  var flatContext, session, sellerIdFromOptions, sellerId, refresh, accessTokenRequest, accessTokenArgs, accessToken;
24
98
  var auth0Instance = _b.auth0Instance, context = _b.context, _c = _b.options, options = _c === void 0 ? {} : _c, isProxied = _b.isProxied;
@@ -34,6 +108,7 @@ var getAccessToken = function (_a) { return tslib_es6.__awaiter(void 0, [_a], vo
34
108
  if (!session || !session.user || !session.accessToken) {
35
109
  return [2 /*return*/, null];
36
110
  }
111
+ console.debug("[Auth-package] getAccessToken called for user ".concat(session === null || session === void 0 ? void 0 : session.user.userId, " at ").concat(new Date().toISOString()));
37
112
  sellerIdFromOptions = (options === null || options === void 0 ? void 0 : options.sellerId) || null;
38
113
  sellerId = determineSellerIdWithFallbacks({
39
114
  sellerIdFromOptions: sellerIdFromOptions,
@@ -41,7 +116,7 @@ var getAccessToken = function (_a) { return tslib_es6.__awaiter(void 0, [_a], vo
41
116
  accessToken: session.accessToken,
42
117
  });
43
118
  if (!sellerId) {
44
- throw new Error("Missing seller id for user ".concat(session.user.userId));
119
+ throw new Error("Missing seller id for user ".concat(session === null || session === void 0 ? void 0 : session.user.userId));
45
120
  }
46
121
  refresh = (options === null || options === void 0 ? void 0 : options.refresh) || false;
47
122
  accessTokenRequest = {
@@ -63,7 +138,12 @@ var getAccessToken = function (_a) { return tslib_es6.__awaiter(void 0, [_a], vo
63
138
  };
64
139
  accessTokenArgs = context
65
140
  ? tslib_es6.__spreadArray(tslib_es6.__spreadArray([], flatContext, true), [accessTokenRequest], false) : [accessTokenRequest];
66
- return [4 /*yield*/, auth0Instance.getAccessToken.apply(auth0Instance, accessTokenArgs)];
141
+ console.debug("[Auth-package] calling access token with args:", {
142
+ refreshToken: session.refreshToken,
143
+ refreshTokenExpiresAt: session.refreshTokenExpiresAt,
144
+ refresh: refresh,
145
+ });
146
+ return [4 /*yield*/, getAccessTokenWithLock("".concat(session === null || session === void 0 ? void 0 : session.user.userId, "-").concat(sellerId), auth0Instance, accessTokenArgs)];
67
147
  case 2:
68
148
  accessToken = (_d.sent()).accessToken;
69
149
  return [2 /*return*/, accessToken !== null && accessToken !== void 0 ? accessToken : null];
@@ -1 +1 @@
1
- {"version":3,"file":"getAccessToken.js","sources":["../../../../../src/lib/request/getAccessToken.ts"],"sourcesContent":[null],"names":["decodeJwt","__awaiter","sessionCallbackHandler","__spreadArray"],"mappings":"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"}
1
+ {"version":3,"file":"getAccessToken.js","sources":["../../../../../src/lib/request/getAccessToken.ts"],"sourcesContent":[null],"names":["decodeJwt","inFlightTokenRequests","__awaiter","sessionCallbackHandler","__spreadArray"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { GetAccessTokenResult } from '@auth0/nextjs-auth0';
2
+ type TrackedPromise = {
3
+ promise: Promise<GetAccessTokenResult>;
4
+ count: number;
5
+ expiresAt: number;
6
+ };
7
+ export declare const inFlightTokenRequests: Map<string, TrackedPromise>;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var inFlightTokenRequests = new Map();
4
+
5
+ exports.inFlightTokenRequests = inFlightTokenRequests;
6
+ //# sourceMappingURL=inFlightAccessTokenCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inFlightAccessTokenCache.js","sources":["../../../../../src/lib/request/inFlightAccessTokenCache.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAOa,IAAA,qBAAqB,GAAG,IAAI,GAAG;;;;"}
@@ -7,6 +7,14 @@ var getAuth0Instance = require('./lib/edge/getAuth0Instance.js');
7
7
  var authLinks = require('./lib/authLinks.js');
8
8
  var auth0 = require('./config/auth0.js');
9
9
 
10
+ jest.mock('src/lib/request/inFlightAccessTokenCache', function () { return ({
11
+ inFlightTokenRequests: {
12
+ get: jest.fn(),
13
+ set: jest.fn(),
14
+ delete: jest.fn(),
15
+ has: jest.fn(),
16
+ },
17
+ }); });
10
18
  var authMiddleware = function (_a) { return tslib_es6.__awaiter(void 0, [_a], void 0, function (_b) {
11
19
  var _c, origin, pathname, search, auth0Instance, auth0Config, isAuthErrorRoute, isProtected;
12
20
  var request = _b.request, event = _b.event, isProtectedRoute = _b.isProtectedRoute, language = _b.language, host = _b.host, protocol = _b.protocol, isProxied = _b.isProxied, onError = _b.onError;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sources":["../../../src/middleware.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","NextResponse","__awaiter","getAccessToken","getLoginLink"],"mappings":";;;;;;;;;AAUO,IAAM,cAAc,GAAG,2EAAO,EAkBpC,EAAA;;QAjBC,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,OAAO,GAAA,EAAA,CAAA,OAAA;;;;AAWD,gBAAA,EAAA,GAA+B,OAAO,CAAC,OAAO,EAA5C,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA;AAC1B,gBAAA,aAAa,GAAGA,iCAAgB,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;gBAC/D,WAAW,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;gBAE3C,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBACrE,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;gBAEnE,IAAI,CAAC,WAAW,EAAE;AAChB,oBAAA,OAAA,CAAA,CAAA,aAAOC,mBAAY,CAAC,IAAI,EAAE,CAAC;;AAGtB,gBAAA,OAAA,CAAA,CAAA,YAAM,aAAa,CAAC,0BAA0B,CAAC,UAAO,GAAG,EAAE,CAAC,EAAA,EAAA,OAAAC,mBAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAC3D,oCAAA,QAAQ,GAAGD,mBAAY,CAAC,IAAI,EAAE;oCACpB,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;;AAAvD,oCAAA,OAAO,GAAG,EAA6C,CAAA,IAAA,EAAA;0CAEzD,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,IAAI,CAAA,EAAb,OAAa,CAAA,CAAA,YAAA,CAAA,CAAA;;;;AAEb,oCAAA,OAAA,CAAA,CAAA,YAAME,6BAAc,CAAC;AACnB,4CAAA,aAAa,EAAA,aAAA;4CACb,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,UAAA,EAAE;AACnC,4CAAA,SAAS,EAAA,SAAA;AACV,yCAAA,CAAC,CAAA;;AAJF,oCAAA,EAAA,CAAA,IAAA,EAIE;;;;oCAEI,SAAS,GAAG,OAAkB;AACpC,oCAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;oCAEd,QAAQ,GAAGC,sBAAY,CAAC;AAC5B,wCAAA,WAAW,EAAA,WAAA;AACX,wCAAA,QAAQ,EAAA,QAAA;AACR,wCAAA,QAAQ,EAAE,EAAA,CAAA,MAAA,CAAG,QAAQ,CAAA,CAAA,MAAA,CAAG,MAAM,CAAE;AACjC,qCAAA,CAAC;oCAEF,OAAO,CAAA,CAAA,aAAAH,mBAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtD,4CAAA,MAAM,EAAE,GAAG;AACZ,yCAAA,CAAC,CAAC;AAIP,gCAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC;;;AACjB,qBAAA,CAAA,CAAA,EAAA,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AA5BlB,YAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SA4BW,CAAC;;;;;;;"}
1
+ {"version":3,"file":"middleware.js","sources":["../../../src/middleware.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","NextResponse","__awaiter","getAccessToken","getLoginLink"],"mappings":"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"}
@@ -8,5 +8,5 @@ type ErrorResponse = {
8
8
  code: string;
9
9
  };
10
10
  type ResponseData = TokenResponse | ErrorResponse;
11
- export declare const createTokenHandler: ({ host, protocol, isProxied }: HandlerCreatorParams) => (request: NextApiRequest, response: NextApiResponse<ResponseData>) => Promise<NextApiResponse<ResponseData> | undefined>;
11
+ export declare const createTokenHandler: ({ host, protocol, isProxied }: HandlerCreatorParams) => (request: NextApiRequest, response: NextApiResponse<ResponseData>) => Promise<void>;
12
12
  export {};
@@ -17,7 +17,8 @@ var createTokenHandler = function (_a) {
17
17
  case 1:
18
18
  session = _b.sent();
19
19
  if (!session) {
20
- return [2 /*return*/, response.status(204).end()];
20
+ response.status(204).end();
21
+ return [2 /*return*/];
21
22
  }
22
23
  _a = request.query, refreshParameter = _a.refresh, sellerIdParameter = _a.sellerId;
23
24
  refresh = refreshParameter === 'true';
@@ -42,7 +43,8 @@ var createTokenHandler = function (_a) {
42
43
  case 3:
43
44
  accessToken = _b.sent();
44
45
  if (!accessToken) {
45
- return [2 /*return*/, response.status(204).end()];
46
+ response.status(204).end();
47
+ return [2 /*return*/];
46
48
  }
47
49
  response.status(200).json({
48
50
  accessToken: accessToken,
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sources":["../../../../../../src/apiRoutes/handlers/creators/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAkBA,IAAM,YAAY,GAAG,UAAC,KAAc,EAAA;AAClC,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;AAE/E,CAAC;AAEM,IAAM,kBAAkB,GAC7B,UAAC,EAAmD,EAAA;AAAjD,IAAA,IAAA,IAAI,UAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;IAC5B,OAAA,UAAO,OAAuB,EAAE,QAAuC,EAAA,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAC/D,oBAAA,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;oBACrD,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;;AAA3D,oBAAA,OAAO,GAAG,EAAiD,CAAA,IAAA,EAAA;oBACjE,IAAI,CAAC,OAAO,EAAE;wBACZ,OAAO,CAAA,CAAA,aAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;;oBAIlC,EACE,GAAA,OAAO,MADwD,EAA/C,gBAAgB,aAAA,EAAY,iBAAiB,cAAA;AAE3D,oBAAA,OAAO,GAAG,gBAAgB,KAAK,MAAM;oBACrC,iBAAiB,GACrB,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACnD,0BAAE;0BACA,EAAE;;;;AAGc,oBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AACvC,4BAAA,aAAa,EAAA,aAAA;AACb,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAA,QAAA;AACT,6BAAA;AACD,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAE,iBAAiB;AAC5B,6BAAA;AACF,yBAAA,CAAC,CAAA;;AAXI,oBAAA,WAAW,GAAG,EAWlB,CAAA,IAAA,EAAA;oBAEF,IAAI,CAAC,WAAW,EAAE;wBAChB,OAAO,CAAA,CAAA,aAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;;AAGpC,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,wBAAA,WAAW,EAAA,WAAA;wBACX,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,GAAG,EAAE;AACjE,qBAAA,CAAC;oBACF,QAAQ,CAAC,GAAG,EAAE;;;;AAER,oBAAA,SAAS,GAAG,YAAY,CAAC,OAAK,CAAC,GAAG,OAAK,CAAC,IAAI,GAAG,oBAAoB;AACzE,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC9C,QAAQ,CAAC,GAAG,EAAE;;;;;AAEjB,KAAA,CAAA,CAAA,EAAA;AA5CD;;;;"}
1
+ {"version":3,"file":"token.js","sources":["../../../../../../src/apiRoutes/handlers/creators/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAkBA,IAAM,YAAY,GAAG,UAAC,KAAc,EAAA;AAClC,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;AAE/E,CAAC;AAEM,IAAM,kBAAkB,GAC7B,UAAC,EAAmD,EAAA;AAAjD,IAAA,IAAA,IAAI,UAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;IAC5B,OAAA,UAAO,OAAuB,EAAE,QAAuC,EAAA,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAC/D,oBAAA,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;oBACrD,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;;AAA3D,oBAAA,OAAO,GAAG,EAAiD,CAAA,IAAA,EAAA;oBACjE,IAAI,CAAC,OAAO,EAAE;wBACZ,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;wBAC1B,OAAO,CAAA,CAAA,YAAA;;oBAIP,EACE,GAAA,OAAO,MADwD,EAA/C,gBAAgB,aAAA,EAAY,iBAAiB,cAAA;AAE3D,oBAAA,OAAO,GAAG,gBAAgB,KAAK,MAAM;oBACrC,iBAAiB,GACrB,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACnD,0BAAE;0BACA,EAAE;;;;AAGc,oBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AACvC,4BAAA,aAAa,EAAA,aAAA;AACb,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAA,QAAA;AACT,6BAAA;AACD,4BAAA,OAAO,EAAE;AACP,gCAAA,OAAO,EAAA,OAAA;AACP,gCAAA,QAAQ,EAAE,iBAAiB;AAC5B,6BAAA;AACF,yBAAA,CAAC,CAAA;;AAXI,oBAAA,WAAW,GAAG,EAWlB,CAAA,IAAA,EAAA;oBAEF,IAAI,CAAC,WAAW,EAAE;wBAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;wBAC1B,OAAO,CAAA,CAAA,YAAA;;AAGT,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACxB,wBAAA,WAAW,EAAA,WAAA;wBACX,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,GAAG,EAAE;AACjE,qBAAA,CAAC;oBACF,QAAQ,CAAC,GAAG,EAAE;;;;AAER,oBAAA,SAAS,GAAG,YAAY,CAAC,OAAK,CAAC,GAAG,OAAK,CAAC,IAAI,GAAG,oBAAoB;AACzE,oBAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC9C,QAAQ,CAAC,GAAG,EAAE;;;;;AAEjB,KAAA,CAAA,CAAA,EAAA;AA9CD;;;;"}
@@ -1,8 +1,10 @@
1
1
  "use client";
2
2
  import { __assign, __awaiter, __generator } from '../node_modules/tslib/tslib.es6.js';
3
- import React, { createContext, useContext, useMemo, useState, useCallback } from 'react';
3
+ import React, { createContext, useContext, useMemo, useState, useCallback, useEffect } from 'react';
4
+ import { useI18n } from '@smg-automotive/i18n-pkg';
4
5
  import { Brand } from '../types/brand.js';
5
6
  import { enrichUser } from '../lib/enrichUser/session.js';
7
+ import { getLoginLink } from '../lib/authLinks.js';
6
8
  import { useInterval } from '../hooks/useInterval.js';
7
9
 
8
10
  var AuthContext = createContext({
@@ -41,6 +43,7 @@ var AuthProvider = function (_a) {
41
43
  };
42
44
  // eslint-disable-next-line react-hooks/exhaustive-deps
43
45
  }, []);
46
+ var language = useI18n().language;
44
47
  var _f = useState({
45
48
  config: memoizedParams.config,
46
49
  accessToken: memoizedParams.accessToken,
@@ -50,8 +53,20 @@ var AuthProvider = function (_a) {
50
53
  }), contextState = _f[0], setContextState = _f[1];
51
54
  // Guard for cases like error pages where we don't need to set up auth handling
52
55
  var needsAuthHandling = !!memoizedParams.config;
53
- var tokenUpdateHandler = function () { return __awaiter(void 0, void 0, void 0, function () {
54
- var tokenExpiration, refreshThreshold, body, response, error_1;
56
+ var handleAuthError = useCallback(function (error) {
57
+ errorHandler(error);
58
+ if (memoizedParams.config.debugForceTokenRefresh) {
59
+ // eslint-disable-next-line no-console
60
+ console.info('[Auth-package] Redirecting to login due to error', formatResponseError(error));
61
+ }
62
+ window.location.href = getLoginLink({
63
+ auth0Config: memoizedParams.config,
64
+ language: language,
65
+ returnTo: window.location.pathname,
66
+ });
67
+ }, [errorHandler, memoizedParams.config, language]);
68
+ var tokenUpdateHandler = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
69
+ var tokenExpiration, refreshThreshold, isRefreshThresholdPending, isDebugForceTokenRefresh, isVisible, shouldRefresh, body, response, error_1;
55
70
  return __generator(this, function (_a) {
56
71
  switch (_a.label) {
57
72
  case 0:
@@ -59,11 +74,25 @@ var AuthProvider = function (_a) {
59
74
  return [2 /*return*/];
60
75
  tokenExpiration = contextState.accessTokenExpiresAt * 1000;
61
76
  refreshThreshold = tokenExpiration - memoizedParams.config.refreshThresholdInMs;
62
- if (refreshThreshold > Date.now() &&
63
- !memoizedParams.config.debugForceTokenRefresh) {
77
+ isRefreshThresholdPending = refreshThreshold > Date.now();
78
+ isDebugForceTokenRefresh = memoizedParams.config.debugForceTokenRefresh;
79
+ isVisible = document.visibilityState === 'visible';
80
+ shouldRefresh = (!isRefreshThresholdPending || isDebugForceTokenRefresh) &&
81
+ isVisible &&
82
+ !contextState.isLoading;
83
+ if (!shouldRefresh) {
84
+ if (isDebugForceTokenRefresh) {
85
+ // eslint-disable-next-line no-console
86
+ console.info('[Auth-package] Skipping refresh', {
87
+ isVisible: isVisible,
88
+ isRefreshThresholdPending: isRefreshThresholdPending,
89
+ isDebugForceTokenRefresh: isDebugForceTokenRefresh,
90
+ isLoading: contextState.isLoading,
91
+ });
92
+ }
64
93
  return [2 /*return*/];
65
94
  }
66
- if (memoizedParams.config.debugForceTokenRefresh) {
95
+ if (isDebugForceTokenRefresh) {
67
96
  // eslint-disable-next-line no-console
68
97
  console.info('[Auth-package] Start forced token refresh', {
69
98
  time: Date.now(),
@@ -87,18 +116,10 @@ var AuthProvider = function (_a) {
87
116
  return [3 /*break*/, 5];
88
117
  case 4:
89
118
  error_1 = _a.sent();
90
- if (memoizedParams.config.debugForceTokenRefresh) {
91
- // eslint-disable-next-line no-console
92
- console.info('[Auth-package] Failed forced token refresh', {
93
- time: Date.now(),
94
- error: error_1,
95
- });
96
- }
97
- errorHandler(error_1);
98
- window.location.href = memoizedParams.config.loginEndpoint;
119
+ handleAuthError(error_1);
99
120
  return [2 /*return*/];
100
121
  case 5:
101
- if (memoizedParams.config.debugForceTokenRefresh) {
122
+ if (isDebugForceTokenRefresh) {
102
123
  // eslint-disable-next-line no-console
103
124
  console.info('[Auth-package] Successfully finished forced token refresh', {
104
125
  time: Date.now(),
@@ -117,7 +138,13 @@ var AuthProvider = function (_a) {
117
138
  return [2 /*return*/];
118
139
  }
119
140
  });
120
- }); };
141
+ }); }, [
142
+ contextState.accessTokenExpiresAt,
143
+ contextState.isLoading,
144
+ handleAuthError,
145
+ memoizedParams.config,
146
+ needsAuthHandling,
147
+ ]);
121
148
  var selectTenant = useCallback(function (sellerId) { return __awaiter(void 0, void 0, void 0, function () {
122
149
  var response, _a, _b, _c, updatedAccessToken_1, updatedAccessTokenExpiresAt_1, userResponse, _d, _e, updatedUser, enrichedSessionUser_1, _f, error_2;
123
150
  return __generator(this, function (_g) {
@@ -182,19 +209,40 @@ var AuthProvider = function (_a) {
182
209
  return [3 /*break*/, 14];
183
210
  case 13:
184
211
  error_2 = _g.sent();
185
- errorHandler(error_2);
186
- window.location.href = memoizedParams.config.loginEndpoint;
212
+ handleAuthError(error_2);
187
213
  return [2 /*return*/];
188
214
  case 14: return [2 /*return*/];
189
215
  }
190
216
  });
191
- }); }, [memoizedParams.config, errorHandler, needsAuthHandling]);
217
+ }); }, [memoizedParams.config, handleAuthError, needsAuthHandling]);
192
218
  useInterval({
193
219
  callback: tokenUpdateHandler,
194
220
  delay: typeof ((_b = memoizedParams.config) === null || _b === void 0 ? void 0 : _b.providerInterval) === 'number'
195
221
  ? (_c = memoizedParams.config) === null || _c === void 0 ? void 0 : _c.providerInterval
196
222
  : null,
197
223
  });
224
+ useEffect(function () {
225
+ var handleVisibilityChange = function () { return __awaiter(void 0, void 0, void 0, function () {
226
+ return __generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0:
229
+ if (document.visibilityState !== 'visible')
230
+ return [2 /*return*/];
231
+ // Calling an endpoint to give the browser time to load the current cookies into memory
232
+ return [4 /*yield*/, fetch(memoizedParams.config.userProfileEndpoint)];
233
+ case 1:
234
+ // Calling an endpoint to give the browser time to load the current cookies into memory
235
+ _a.sent();
236
+ tokenUpdateHandler();
237
+ return [2 /*return*/];
238
+ }
239
+ });
240
+ }); };
241
+ document.addEventListener('visibilitychange', handleVisibilityChange);
242
+ return function () {
243
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
244
+ };
245
+ }, [tokenUpdateHandler, memoizedParams.config.userProfileEndpoint]);
198
246
  var memoizedContext = useMemo(function () {
199
247
  return {
200
248
  user: contextState.user || null,
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.js","sources":["../../../../src/contexts/Auth.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAqCA;AACE;AACA;;AAEA;AACA;AACD;AAED;;AAEA;AAEa;AACX;;;;;;;;AASF;AAEO;;;;;;AAQL;;;AAII;AAIA;AACA;AACA;;;;;;;;AASF;AACA;AACD;;AAGD;AAEA;;;;;AACE;;AAEM;;AAIN;AAEE;;;AAKF;;AAEE;AACE;AACD;;;AAID;AAIF;;;;;;AAIQ;AAGC;;;AAEP;;;;;;AAIA;;AAEE;AACE;AACA;AACD;;;;;;AAQL;;AAEE;AAGI;;AAED;;;;;;;;AASD;;AAEJ;;;;;AAGF;;;;;AAEI;;;AAGE;AAIF;;;;AAGmB;;AAAX;AAIF;;AACc;AAAoB;AAApC;AAME;;AAHE;AAKN;AACE;;;;AAKI;AAGF;;AACc;AAAoB;AAApC;AAE+B;;AAA3B;AACsB;AACxB;AACE;AACA;AACA;AACD;;AAJD;;;AAKA;;;;AAEJ;;;;AAII;AACA;AACA;;AAEJ;;;;;;;;;;;AAWN;AACE;;AAGI;AACA;AACL;;;AAIG;;AAEA;;AAEA;;;AAIJ;AAKF;;"}
1
+ {"version":3,"file":"Auth.js","sources":["../../../../src/contexts/Auth.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAyCA;AACE;AACA;;AAEA;AACA;AACD;AAED;;AAEA;AAEa;AACX;;;;;;;;AASF;AAEO;;;;;;AAQL;;;AAII;AAIA;AACA;AACA;;;;AAII;;;;;AAMN;AACA;AACD;;AAGD;AAEA;;AAII;;;;AAQA;;AAEE;AACA;AACD;;;;;;;AAMH;;AAEM;;AAGA;AACA;AAEA;AAEA;;;;;;AAOF;AACE;AACA;AACA;;AAED;;;;;;AAOH;AACE;AACD;;;AAID;AAIF;;;;;;AAIQ;AAGC;;;AAEP;;;;;;;;;;;AAUA;AAGI;;AAED;;;;;;;;AASD;;AAEJ;;;;;AAEA;AACA;;AAEA;;AAED;AAED;;;;;AAEI;;;AAGE;AAIF;;;;AAGmB;;AAAX;AAIF;;AACc;AAAoB;AAApC;AAME;;AAHE;AAKN;AACE;;;;AAKI;AAGF;;AACc;AAAoB;AAApC;AAE+B;;AAA3B;AACsB;AACxB;AACE;AACA;AACA;AACD;;AAJD;;;AAKA;;;;AAEJ;;;;AAII;AACA;AACA;;AAEJ;;;;;;;;;;AASN;AACE;;AAGI;AACA;AACL;AAED;AACE;;;;AACE;;;;;;AAGA;AACA;;;;;AAGF;;AAEE;AACF;;;;AAKE;;AAEA;;AAEA;;;AAIJ;AAKF;;"}
@@ -7,7 +7,8 @@ type GetServerAuthPropsArgs = {
7
7
  isProxied: boolean;
8
8
  brand: Brand;
9
9
  language?: Language;
10
+ url?: string;
10
11
  onError?: (error: Error) => void;
11
12
  };
12
- export declare const getServerAuthProps: ({ protocol, host, isProxied, brand, language, onError, }: GetServerAuthPropsArgs) => Promise<AuthProps>;
13
+ export declare const getServerAuthProps: ({ protocol, host, isProxied, brand, language, url, onError, }: GetServerAuthPropsArgs) => Promise<AuthProps>;
13
14
  export {};
@@ -1,13 +1,13 @@
1
1
  import { __awaiter, __generator, __assign } from '../node_modules/tslib/tslib.es6.js';
2
2
  import { redirect } from 'next/navigation';
3
3
  import { getAuth0Instance } from '../lib/request/getAuth0Instance.js';
4
- import { getLogoutLink } from '../lib/authLinks.js';
4
+ import { getLoginLink } from '../lib/authLinks.js';
5
5
  import { getAuth0Config } from '../config/auth0.js';
6
6
  import { getAuthProps } from './getAuthProps.js';
7
7
 
8
8
  var getServerAuthProps = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
9
- var auth0Instance, config, authProps, shouldRedirect, _c, error_1, authError, logoutUrl;
10
- var protocol = _b.protocol, host = _b.host, isProxied = _b.isProxied, brand = _b.brand, language = _b.language, onError = _b.onError;
9
+ var auth0Instance, config, authProps, shouldRedirect, _c, error_1, authError, loginLink;
10
+ var protocol = _b.protocol, host = _b.host, isProxied = _b.isProxied, brand = _b.brand, language = _b.language, url = _b.url, onError = _b.onError;
11
11
  return __generator(this, function (_d) {
12
12
  switch (_d.label) {
13
13
  case 0:
@@ -44,13 +44,14 @@ var getServerAuthProps = function (_a) { return __awaiter(void 0, [_a], void 0,
44
44
  return [3 /*break*/, 4];
45
45
  case 4:
46
46
  if (shouldRedirect) {
47
- logoutUrl = getLogoutLink({
47
+ loginLink = getLoginLink({
48
+ returnTo: url || "/".concat(language),
48
49
  auth0Config: authProps.config,
49
50
  language: language,
50
51
  });
51
52
  // redirect internally throws an error so it should be called outside of try/catch blocks
52
53
  // https://nextjs.org/docs/app/building-your-application/routing/redirecting#redirect-function
53
- redirect(logoutUrl);
54
+ redirect(loginLink);
54
55
  }
55
56
  return [2 /*return*/, authProps];
56
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sources":["../../../../src/getServerAuthProps/app.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAqBO,IAAM,kBAAkB,GAAG,iEAAO,EAOhB,EAAA;;AANvB,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,KAAK,WAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,OAAO,GAAA,EAAA,CAAA,OAAA;;;;gBAED,aAAa,GAAG,gBAAgB,CAAC;AACrC,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAG,cAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;gBACG,cAAc,GAAG,KAAK;;;;mCAInB,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAM,YAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AANJ,gBAAA,SAAS,GAEJ,QAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAIF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACpB,cAAc,GAAG,IAAI;;;gBAGvB,IAAI,cAAc,EAAE;oBACZ,SAAS,GAAG,aAAa,CAAC;wBAC9B,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,wBAAA,QAAQ,EAAA,QAAA;AACT,qBAAA,CAAC;;;oBAIF,QAAQ,CAAC,SAAS,CAAC;;AAGrB,gBAAA,OAAA,CAAA,CAAA,aAAO,SAAS,CAAC;;;;;;;"}
1
+ {"version":3,"file":"app.js","sources":["../../../../src/getServerAuthProps/app.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAsBO,IAAM,kBAAkB,GAAG,iEAAO,EAQhB,EAAA;;AAPvB,IAAA,IAAA,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,OAAO,GAAA,EAAA,CAAA,OAAA;;;;gBAED,aAAa,GAAG,gBAAgB,CAAC;AACrC,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAG,cAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;gBACG,cAAc,GAAG,KAAK;;;;mCAInB,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAM,YAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AANJ,gBAAA,SAAS,GAEJ,QAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAIF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACpB,cAAc,GAAG,IAAI;;;gBAGvB,IAAI,cAAc,EAAE;oBACZ,SAAS,GAAG,YAAY,CAAC;AAC7B,wBAAA,QAAQ,EAAE,GAAG,IAAI,GAAA,CAAA,MAAA,CAAI,QAAQ,CAAE;wBAC/B,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,wBAAA,QAAQ,EAAA,QAAA;AACT,qBAAA,CAAC;;;oBAIF,QAAQ,CAAC,SAAS,CAAC;;AAGrB,gBAAA,OAAA,CAAA,CAAA,aAAO,SAAS,CAAC;;;;;;;"}
@@ -1,7 +1,8 @@
1
1
  import { __awaiter, __generator } from '../node_modules/tslib/tslib.es6.js';
2
+ import { getAccessToken } from '../lib/request/getAccessToken.js';
2
3
 
3
4
  var getAuthProps = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
4
- var session, isLoggedIn, user, accessTokenExpiresAt, getAccessToken, accessToken, enrichUser, enrichedUser, _c;
5
+ var session, isLoggedIn, user, accessTokenExpiresAt, accessToken, enrichUser, enrichedUser, _c;
5
6
  var auth0Instance = _b.auth0Instance, brand = _b.brand, context = _b.context, isProxied = _b.isProxied;
6
7
  return __generator(this, function (_d) {
7
8
  switch (_d.label) {
@@ -18,28 +19,25 @@ var getAuthProps = function (_a) { return __awaiter(void 0, [_a], void 0, functi
18
19
  }
19
20
  user = session.user;
20
21
  accessTokenExpiresAt = session.accessTokenExpiresAt;
21
- return [4 /*yield*/, import('../lib/request/getAccessToken.js')];
22
- case 2:
23
- getAccessToken = (_d.sent()).getAccessToken;
24
22
  return [4 /*yield*/, getAccessToken({
25
23
  auth0Instance: auth0Instance,
26
24
  context: context,
27
25
  isProxied: isProxied,
28
26
  })];
29
- case 3:
27
+ case 2:
30
28
  accessToken = _d.sent();
31
29
  return [4 /*yield*/, import('../lib/enrichUser/session.js')];
32
- case 4:
30
+ case 3:
33
31
  enrichUser = (_d.sent()).enrichUser;
34
- if (!accessToken) return [3 /*break*/, 6];
32
+ if (!accessToken) return [3 /*break*/, 5];
35
33
  return [4 /*yield*/, enrichUser({ user: user, accessToken: accessToken, brand: brand })];
36
- case 5:
34
+ case 4:
37
35
  _c = _d.sent();
38
- return [3 /*break*/, 7];
39
- case 6:
36
+ return [3 /*break*/, 6];
37
+ case 5:
40
38
  _c = null;
41
- _d.label = 7;
42
- case 7:
39
+ _d.label = 6;
40
+ case 6:
43
41
  enrichedUser = _c;
44
42
  return [2 /*return*/, {
45
43
  user: enrichedUser,
@@ -1 +1 @@
1
- {"version":3,"file":"getAuthProps.js","sources":["../../../../src/getServerAuthProps/getAuthProps.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQO,IAAM,YAAY,GAAG,iEAAO,EAalC,EAAA;;QAZC,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA;;;oBAUO,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAxB,KAAA,CAAA,aAAa,GAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EACvD,CAAA;;AAFK,gBAAA,OAAO,GAAG,EAEf,CAAA,IAAA,EAAA;gBAEK,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI;gBAE9C,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,WAAW,EAAE,IAAI;AACjB,4BAAA,oBAAoB,EAAE,IAAI;yBAC3B,CAAC;;AAGE,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAoB;AACnC,gBAAA,oBAAoB,GAAG,OAAO,CAAC,oBAAqB;AAE/B,gBAAA,OAAA,CAAA,CAAA,YAAM,OAAO,kCAAgC,CAAC,CAAA;;AAAjE,gBAAA,cAAc,GAAK,CAAA,EAA8C,CAAA,IAAA,EAAA,EAAnD,cAAA;AAEF,gBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AACvC,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AAJI,gBAAA,WAAW,GAAG,EAIlB,CAAA,IAAA,EAAA;AAEqB,gBAAA,OAAA,CAAA,CAAA,YAAM,OAAO,8BAA4B,CAAC,CAAA;;AAAzD,gBAAA,UAAU,GAAK,CAAA,EAA0C,CAAA,IAAA,EAAA,EAA/C,UAAA;AACG,gBAAA,IAAA,CAAA,WAAW,EAAX,OAAW,CAAA,CAAA,YAAA,CAAA,CAAA;AAC5B,gBAAA,OAAA,CAAA,CAAA,YAAM,UAAU,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAA;;AAA9C,gBAAA,EAAA,GAAA,SAA8C;;;AAC9C,gBAAA,EAAA,GAAA,IAAI;;;AAFF,gBAAA,YAAY,GAEV,EAAA;gBAER,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,WAAW,EAAA,WAAA;AACX,wBAAA,oBAAoB,EAAA,oBAAA;qBACrB,CAAC;;;;;;;"}
1
+ {"version":3,"file":"getAuthProps.js","sources":["../../../../src/getServerAuthProps/getAuthProps.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAUO,IAAM,YAAY,GAAG,iEAAO,EAalC,EAAA;;QAZC,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA;;;oBAUO,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAxB,KAAA,CAAA,aAAa,GAC7B,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EACvD,CAAA;;AAFK,gBAAA,OAAO,GAAG,EAEf,CAAA,IAAA,EAAA;gBAEK,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI;gBAE9C,IAAI,CAAC,UAAU,EAAE;oBACf,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,WAAW,EAAE,IAAI;AACjB,4BAAA,oBAAoB,EAAE,IAAI;yBAC3B,CAAC;;AAGE,gBAAA,IAAI,GAAG,OAAO,CAAC,IAAoB;AACnC,gBAAA,oBAAoB,GAAG,OAAO,CAAC,oBAAqB;AACtC,gBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AACvC,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAA;;AAJI,gBAAA,WAAW,GAAG,EAIlB,CAAA,IAAA,EAAA;AAEqB,gBAAA,OAAA,CAAA,CAAA,YAAM,OAAO,8BAA4B,CAAC,CAAA;;AAAzD,gBAAA,UAAU,GAAK,CAAA,EAA0C,CAAA,IAAA,EAAA,EAA/C,UAAA;AACG,gBAAA,IAAA,CAAA,WAAW,EAAX,OAAW,CAAA,CAAA,YAAA,CAAA,CAAA;AAC5B,gBAAA,OAAA,CAAA,CAAA,YAAM,UAAU,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAA;;AAA9C,gBAAA,EAAA,GAAA,SAA8C;;;AAC9C,gBAAA,EAAA,GAAA,IAAI;;;AAFF,gBAAA,YAAY,GAEV,EAAA;gBAER,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,WAAW,EAAA,WAAA;AACX,wBAAA,oBAAoB,EAAA,oBAAA;qBACrB,CAAC;;;;;;;"}
@@ -1,11 +1,11 @@
1
1
  import { __awaiter, __generator, __assign } from '../node_modules/tslib/tslib.es6.js';
2
2
  import { getAuth0Instance } from '../lib/request/getAuth0Instance.js';
3
- import { getLogoutLink } from '../lib/authLinks.js';
3
+ import { getLoginLink } from '../lib/authLinks.js';
4
4
  import { getAuth0Config } from '../config/auth0.js';
5
5
  import { getAuthProps } from './getAuthProps.js';
6
6
 
7
7
  var getServerAuthProps = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
8
- var auth0Instance, config, authProps, _c, error_1, authError, logoutUrl, pagePropsWithAuthProps;
8
+ var auth0Instance, config, authProps, _c, error_1, authError, loginLink, pagePropsWithAuthProps;
9
9
  var request = _b.request, response = _b.response, appProps = _b.appProps, brand = _b.brand, language = _b.language, _d = _b.pageProps, pageProps = _d === void 0 ? {} : _d, onError = _b.onError, host = _b.host, protocol = _b.protocol, isProxied = _b.isProxied;
10
10
  return __generator(this, function (_e) {
11
11
  switch (_e.label) {
@@ -39,12 +39,13 @@ var getServerAuthProps = function (_a) { return __awaiter(void 0, [_a], void 0,
39
39
  error_1 = _e.sent();
40
40
  authError = error_1;
41
41
  onError === null || onError === void 0 ? void 0 : onError(authError);
42
- logoutUrl = getLogoutLink({
42
+ loginLink = getLoginLink({
43
+ returnTo: request.url || "/".concat(language),
43
44
  auth0Config: authProps.config,
44
45
  language: language,
45
46
  });
46
47
  response.writeHead(307, {
47
- Location: logoutUrl,
48
+ Location: loginLink,
48
49
  });
49
50
  response.end();
50
51
  return [3 /*break*/, 4];
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sources":["../../../../src/getServerAuthProps/pages.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAgCO,IAAM,kBAAkB,GAAG,iEAEhC,EAWkC,EAAA;;AAVlC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,cAAA,EACR,EAAA,GAAA,EAAA,CAAA,SAA2B,EAA3B,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,EAAe,GAAA,EAAA,EAC3B,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA;;;;gBAIH,aAAa,GAAG,gBAAgB,CAAC;AACrC,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAG,cAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;;;;mCAIM,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAM,YAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACT,wBAAA,OAAO,EAAE,EAAE,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAE;AAC/B,qBAAA,CAAC,CAAA;;AAPJ,gBAAA,SAAS,GAEJ,QAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAKF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACd,SAAS,GAAG,aAAa,CAAC;oBAC9B,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,oBAAA,QAAQ,EAAA,QAAA;AACT,iBAAA,CAAC;AAEF,gBAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;AACtB,oBAAA,QAAQ,EAAE,SAAS;AACpB,iBAAA,CAAC;gBACF,QAAQ,CAAC,GAAG,EAAE;;;AAGV,gBAAA,sBAAsB,yBACvB,SAAS,CAAA,EAAA,EACZ,SAAS,EAAA,SAAA,GACV;gBACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;AACzD,gBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC;;;;;;;"}
1
+ {"version":3,"file":"pages.js","sources":["../../../../src/getServerAuthProps/pages.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAgCO,IAAM,kBAAkB,GAAG,iEAEhC,EAWkC,EAAA;;AAVlC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,cAAA,EACR,EAAA,GAAA,EAAA,CAAA,SAA2B,EAA3B,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,EAAe,GAAA,EAAA,EAC3B,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA;;;;gBAIH,aAAa,GAAG,gBAAgB,CAAC;AACrC,oBAAA,IAAI,EAAA,IAAA;AACJ,oBAAA,QAAQ,EAAA,QAAA;AACR,oBAAA,SAAS,EAAA,SAAA;AACV,iBAAA,CAAC;gBACI,MAAM,GAAG,cAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACxC,gBAAA,SAAS,GAAc;AACzB,oBAAA,MAAM,EAAA,MAAA;AACN,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,oBAAoB,EAAE,IAAI;iBAC3B;;;;mCAIM,SAAS,CAAA,CAAA;AACR,gBAAA,OAAA,CAAA,CAAA,YAAM,YAAY,CAAC;AACrB,wBAAA,aAAa,EAAA,aAAA;AACb,wBAAA,KAAK,EAAA,KAAA;AACL,wBAAA,SAAS,EAAA,SAAA;AACT,wBAAA,OAAO,EAAE,EAAE,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAE;AAC/B,qBAAA,CAAC,CAAA;;AAPJ,gBAAA,SAAS,GAEJ,QAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,MAAA,CAAA,EAAC,EAKF,CAAA,IAAA,EAAA,IACH;;;;gBAEK,SAAS,GAAG,OAAkB;AAEpC,gBAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;gBACd,SAAS,GAAG,YAAY,CAAC;AAC7B,oBAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,GAAA,CAAA,MAAA,CAAI,QAAQ,CAAE;oBACvC,WAAW,EAAE,SAAS,CAAC,MAAM;AAC7B,oBAAA,QAAQ,EAAA,QAAA;AACT,iBAAA,CAAC;AAEF,gBAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE;AACtB,oBAAA,QAAQ,EAAE,SAAS;AACpB,iBAAA,CAAC;gBACF,QAAQ,CAAC,GAAG,EAAE;;;AAGV,gBAAA,sBAAsB,yBACvB,SAAS,CAAA,EAAA,EACZ,SAAS,EAAA,SAAA,GACV;gBACD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;AACzD,gBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC;;;;;;;"}
@@ -6,11 +6,12 @@ type AccessTokenOptions = {
6
6
  refresh?: boolean;
7
7
  sellerId?: string | number;
8
8
  };
9
+ type Auth0Instance = {
10
+ getSession: GetSession;
11
+ getAccessToken: GetAccessToken;
12
+ };
9
13
  type GetAccessTokenArgs = {
10
- auth0Instance: {
11
- getSession: GetSession;
12
- getAccessToken: GetAccessToken;
13
- };
14
+ auth0Instance: Auth0Instance;
14
15
  isProxied: boolean;
15
16
  context?: {
16
17
  request: NextApiRequest;
@@ -1,6 +1,7 @@
1
1
  import { __awaiter, __generator, __spreadArray } from '../../node_modules/tslib/tslib.es6.js';
2
2
  import { decodeJwt } from 'jose';
3
3
  import { sessionCallbackHandler } from './sessionCallbackHandler.js';
4
+ import { inFlightTokenRequests } from './inFlightAccessTokenCache.js';
4
5
 
5
6
  var determineSellerIdWithFallbacks = function (_a) {
6
7
  var sellerIdFromOptions = _a.sellerIdFromOptions, user = _a.user, accessToken = _a.accessToken;
@@ -17,6 +18,79 @@ var determineSellerIdWithFallbacks = function (_a) {
17
18
  }
18
19
  return null;
19
20
  };
21
+ var cacheReleaseDelay = 2000; // 2 seconds
22
+ var safeCleanupAfterTTL = function (key) {
23
+ var tracked = inFlightTokenRequests.get(key);
24
+ if (!tracked)
25
+ return;
26
+ if (tracked.count > 0) {
27
+ console.debug("[Auth-package] [".concat(key, "] cleanup deferred \u2014 count=").concat(tracked.count));
28
+ setTimeout(function () { return safeCleanupAfterTTL(key); }, 500);
29
+ return;
30
+ }
31
+ var now = Date.now();
32
+ var delay = tracked.expiresAt - now;
33
+ if (delay > 0) {
34
+ console.debug("[Auth-package] [".concat(key, "] delaying final cleanup by ").concat(delay, "ms"));
35
+ setTimeout(function () { return safeCleanupAfterTTL(key); }, delay);
36
+ return;
37
+ }
38
+ console.debug("[Auth-package] [".concat(key, "] cache expired scheduling delete"));
39
+ setTimeout(function () {
40
+ inFlightTokenRequests.delete(key);
41
+ console.debug("[Auth-package] [".concat(key, "] cache expired, cleaning up after ").concat(cacheReleaseDelay, "ms"));
42
+ }, cacheReleaseDelay);
43
+ };
44
+ var accessTokenCacheTTL = 10000; // 10 seconds
45
+ var getAccessTokenWithLock = function (key, auth0Instance, accessTokenArgs) {
46
+ console.debug("[Auth-package] getAccessTokenWithLock called at ".concat(new Date().toISOString()));
47
+ var existing = inFlightTokenRequests.get(key);
48
+ if (existing) {
49
+ existing.count++;
50
+ console.debug("[Auth-package] [".concat(key, "] found in cache, incrementing count to ").concat(existing.count));
51
+ return existing.promise.finally(function () {
52
+ existing.count--;
53
+ console.debug("[Auth-package] existing finally [".concat(key, "] consumer finished, decrementing count to ").concat(existing.count));
54
+ if (existing.count === 0) {
55
+ safeCleanupAfterTTL(key);
56
+ }
57
+ });
58
+ }
59
+ // First consumer creates promise and adds to cache
60
+ var resolve;
61
+ var reject;
62
+ var wrapperPromise = new Promise(function (res, rej) {
63
+ resolve = res;
64
+ reject = rej;
65
+ });
66
+ inFlightTokenRequests.set(key, {
67
+ promise: wrapperPromise,
68
+ count: 1,
69
+ expiresAt: Date.now() + accessTokenCacheTTL, // TTL in ms
70
+ });
71
+ console.debug("[Auth-package] [".concat(key, "] not in cache, creating new promise"));
72
+ auth0Instance
73
+ .getAccessToken.apply(auth0Instance, accessTokenArgs).then(function (result) {
74
+ console.debug("[Auth-package] [".concat(key, "] initial consumer finished \u2014 count=1"));
75
+ resolve(result);
76
+ })
77
+ .catch(function (err) {
78
+ console.error("[Auth-package] [".concat(key, "] Auth0 error:"), err);
79
+ inFlightTokenRequests.delete(key);
80
+ reject(err);
81
+ })
82
+ .finally(function () {
83
+ var tracked = inFlightTokenRequests.get(key);
84
+ if (tracked) {
85
+ tracked.count--;
86
+ console.debug("[Auth-package] original finally [".concat(key, "] initial consumer finished \u2014 count=").concat(tracked.count));
87
+ if (tracked.count === 0) {
88
+ safeCleanupAfterTTL(key);
89
+ }
90
+ }
91
+ });
92
+ return wrapperPromise;
93
+ };
20
94
  var getAccessToken = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
21
95
  var flatContext, session, sellerIdFromOptions, sellerId, refresh, accessTokenRequest, accessTokenArgs, accessToken;
22
96
  var auth0Instance = _b.auth0Instance, context = _b.context, _c = _b.options, options = _c === void 0 ? {} : _c, isProxied = _b.isProxied;
@@ -32,6 +106,7 @@ var getAccessToken = function (_a) { return __awaiter(void 0, [_a], void 0, func
32
106
  if (!session || !session.user || !session.accessToken) {
33
107
  return [2 /*return*/, null];
34
108
  }
109
+ console.debug("[Auth-package] getAccessToken called for user ".concat(session === null || session === void 0 ? void 0 : session.user.userId, " at ").concat(new Date().toISOString()));
35
110
  sellerIdFromOptions = (options === null || options === void 0 ? void 0 : options.sellerId) || null;
36
111
  sellerId = determineSellerIdWithFallbacks({
37
112
  sellerIdFromOptions: sellerIdFromOptions,
@@ -39,7 +114,7 @@ var getAccessToken = function (_a) { return __awaiter(void 0, [_a], void 0, func
39
114
  accessToken: session.accessToken,
40
115
  });
41
116
  if (!sellerId) {
42
- throw new Error("Missing seller id for user ".concat(session.user.userId));
117
+ throw new Error("Missing seller id for user ".concat(session === null || session === void 0 ? void 0 : session.user.userId));
43
118
  }
44
119
  refresh = (options === null || options === void 0 ? void 0 : options.refresh) || false;
45
120
  accessTokenRequest = {
@@ -61,7 +136,12 @@ var getAccessToken = function (_a) { return __awaiter(void 0, [_a], void 0, func
61
136
  };
62
137
  accessTokenArgs = context
63
138
  ? __spreadArray(__spreadArray([], flatContext, true), [accessTokenRequest], false) : [accessTokenRequest];
64
- return [4 /*yield*/, auth0Instance.getAccessToken.apply(auth0Instance, accessTokenArgs)];
139
+ console.debug("[Auth-package] calling access token with args:", {
140
+ refreshToken: session.refreshToken,
141
+ refreshTokenExpiresAt: session.refreshTokenExpiresAt,
142
+ refresh: refresh,
143
+ });
144
+ return [4 /*yield*/, getAccessTokenWithLock("".concat(session === null || session === void 0 ? void 0 : session.user.userId, "-").concat(sellerId), auth0Instance, accessTokenArgs)];
65
145
  case 2:
66
146
  accessToken = (_d.sent()).accessToken;
67
147
  return [2 /*return*/, accessToken !== null && accessToken !== void 0 ? accessToken : null];
@@ -1 +1 @@
1
- {"version":3,"file":"getAccessToken.js","sources":["../../../../../src/lib/request/getAccessToken.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AA4CA,IAAM,8BAA8B,GAAG,UAAC,EAQvC,EAAA;AAPC,IAAA,IAAA,mBAAmB,yBAAA,EACnB,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,WAAW,GAAA,EAAA,CAAA,WAAA;AAMX,IAAA,IAAI,mBAAmB;AAAE,QAAA,OAAO,mBAAmB;IACnD,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,QAAQ;AAEvC,IAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,IAAM,YAAY,GAAG,SAAS,CAAkB,WAAW,CAAC;QAC5D,IAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;;QAG1C,OAAO,CAAC,IAAI,CACV,2CAA4C,CAAA,MAAA,CAAA,QAAQ,EAAa,YAAA,CAAA,CAAA,MAAA,CAAA,IAAI,CAAC,MAAM,EAAsC,sCAAA,CAAA,CACnH;AAED,QAAA,OAAO,QAAQ;;AAGjB,IAAA,OAAO,IAAI;AACb,CAAC;AAEM,IAAM,cAAc,GAAG,iEAAO,EAKhB,EAAA;;AAJnB,IAAA,IAAA,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,EAAA,GAAA,EAAA,CAAA,OAAY,EAAZ,OAAO,GAAG,EAAA,KAAA,MAAA,GAAA,EAAE,GAAA,EAAA,EACZ,SAAS,GAAA,EAAA,CAAA,SAAA;;;;AAEH,gBAAA,WAAW,GAA2B;sBACvC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ;sBACnC,EAAE;AACU,gBAAA,OAAA,CAAA,CAAA,YAAM,aAAa,CAAC,UAAU,OAAxB,aAAa,EAAe,WAAW,CAAC,CAAA;;AAAxD,gBAAA,OAAO,GAAG,EAA8C,CAAA,IAAA,EAAA;AAE9D,gBAAA,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACrD,oBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC;;gBAGR,mBAAmB,GAAG,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,QAAQ,KAAI,IAAI;gBAC/C,QAAQ,GAAG,8BAA8B,CAAC;AAC9C,oBAAA,mBAAmB,EAAA,mBAAA;oBACnB,IAAI,EAAE,OAAO,CAAC,IAAmB;oBACjC,WAAW,EAAE,OAAO,CAAC,WAAW;AACjC,iBAAA,CAAC;gBAEF,IAAI,CAAC,QAAQ,EAAE;oBACb,MAAM,IAAI,KAAK,CAAC,6BAA8B,CAAA,MAAA,CAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;;gBAGhE,OAAO,GAAG,CAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,MAAA,GAAA,MAAA,GAAA,OAAO,CAAE,OAAO,KAAI,KAAK;AACnC,gBAAA,kBAAkB,GAAuB;AAC7C,oBAAA,OAAO,EAAA,OAAA;AACP,oBAAA,mBAAmB,EAAE;AACnB,wBAAA,SAAS,EAAE,QAAQ;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE,UACZ,IAAsC,EACtC,GAAqC,EACrC,cAAuB,EAAA,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;AAEvB,4BAAA,OAAA,CAAA,CAAA,aAAO,sBAAsB,CAAC;AAC5B,oCAAA,GAAG,EAAA,GAAA;AACH,oCAAA,OAAO,EAAE,cAAc;AACvB,oCAAA,gBAAgB,EAAE,QAAQ;AAC1B,oCAAA,oBAAoB,EAAE,IAAI;AAC1B,oCAAA,SAAS,EAAA,SAAA;AACV,iCAAA,CAAC,CAAC;;AACJ,qBAAA,CAAA,CAAA,EAAA;iBACF;AACK,gBAAA,eAAe,GAA+B;sBACjD,aAAA,CAAA,aAAA,CAAA,EAAA,EAAK,WAAW,EAAA,IAAA,CAAA,EAAA,CAAE,kBAAkB,CAAA,EAAA,KAAA,CAAA,GACnC,CAAC,kBAAkB,CAAC;AAEA,gBAAA,OAAA,CAAA,CAAA,YAAM,aAAa,CAAC,cAAc,OAA5B,aAAa,EACtC,eAAe,CACnB,CAAA;;AAFO,gBAAA,WAAW,GAAK,CAAA,EAEvB,CAAA,IAAA,EAAA,EAFkB,WAAA;AAGnB,gBAAA,OAAA,CAAA,CAAA,aAAO,WAAW,KAAX,IAAA,IAAA,WAAW,cAAX,WAAW,GAAI,IAAI,CAAC;;;;;;;"}
1
+ {"version":3,"file":"getAccessToken.js","sources":["../../../../../src/lib/request/getAccessToken.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { GetAccessTokenResult } from '@auth0/nextjs-auth0';
2
+ type TrackedPromise = {
3
+ promise: Promise<GetAccessTokenResult>;
4
+ count: number;
5
+ expiresAt: number;
6
+ };
7
+ export declare const inFlightTokenRequests: Map<string, TrackedPromise>;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ var inFlightTokenRequests = new Map();
2
+
3
+ export { inFlightTokenRequests };
4
+ //# sourceMappingURL=inFlightAccessTokenCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inFlightAccessTokenCache.js","sources":["../../../../../src/lib/request/inFlightAccessTokenCache.ts"],"sourcesContent":[null],"names":[],"mappings":"AAOa,IAAA,qBAAqB,GAAG,IAAI,GAAG;;;;"}
@@ -5,6 +5,14 @@ import { getAuth0Instance } from './lib/edge/getAuth0Instance.js';
5
5
  import { getLoginLink } from './lib/authLinks.js';
6
6
  import { getAuth0Config } from './config/auth0.js';
7
7
 
8
+ jest.mock('src/lib/request/inFlightAccessTokenCache', function () { return ({
9
+ inFlightTokenRequests: {
10
+ get: jest.fn(),
11
+ set: jest.fn(),
12
+ delete: jest.fn(),
13
+ has: jest.fn(),
14
+ },
15
+ }); });
8
16
  var authMiddleware = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
9
17
  var _c, origin, pathname, search, auth0Instance, auth0Config, isAuthErrorRoute, isProtected;
10
18
  var request = _b.request, event = _b.event, isProtectedRoute = _b.isProtectedRoute, language = _b.language, host = _b.host, protocol = _b.protocol, isProxied = _b.isProxied, onError = _b.onError;
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sources":["../../../src/middleware.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAUO,IAAM,cAAc,GAAG,iEAAO,EAkBpC,EAAA;;QAjBC,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,OAAO,GAAA,EAAA,CAAA,OAAA;;;;AAWD,gBAAA,EAAA,GAA+B,OAAO,CAAC,OAAO,EAA5C,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA;AAC1B,gBAAA,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;gBAC/D,WAAW,GAAG,cAAc,CAAC,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;gBAE3C,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBACrE,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;gBAEnE,IAAI,CAAC,WAAW,EAAE;AAChB,oBAAA,OAAA,CAAA,CAAA,aAAO,YAAY,CAAC,IAAI,EAAE,CAAC;;AAGtB,gBAAA,OAAA,CAAA,CAAA,YAAM,aAAa,CAAC,0BAA0B,CAAC,UAAO,GAAG,EAAE,CAAC,EAAA,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA;;;;;AAC3D,oCAAA,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE;oCACpB,OAAM,CAAA,CAAA,YAAA,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;;AAAvD,oCAAA,OAAO,GAAG,EAA6C,CAAA,IAAA,EAAA;0CAEzD,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAE,IAAI,CAAA,EAAb,OAAa,CAAA,CAAA,YAAA,CAAA,CAAA;;;;AAEb,oCAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AACnB,4CAAA,aAAa,EAAA,aAAA;4CACb,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,UAAA,EAAE;AACnC,4CAAA,SAAS,EAAA,SAAA;AACV,yCAAA,CAAC,CAAA;;AAJF,oCAAA,EAAA,CAAA,IAAA,EAIE;;;;oCAEI,SAAS,GAAG,OAAkB;AACpC,oCAAA,OAAO,aAAP,OAAO,KAAA,MAAA,GAAA,MAAA,GAAP,OAAO,CAAG,SAAS,CAAC;oCAEd,QAAQ,GAAG,YAAY,CAAC;AAC5B,wCAAA,WAAW,EAAA,WAAA;AACX,wCAAA,QAAQ,EAAA,QAAA;AACR,wCAAA,QAAQ,EAAE,EAAA,CAAA,MAAA,CAAG,QAAQ,CAAA,CAAA,MAAA,CAAG,MAAM,CAAE;AACjC,qCAAA,CAAC;oCAEF,OAAO,CAAA,CAAA,aAAA,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtD,4CAAA,MAAM,EAAE,GAAG;AACZ,yCAAA,CAAC,CAAC;AAIP,gCAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC;;;AACjB,qBAAA,CAAA,CAAA,EAAA,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AA5BlB,YAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SA4BW,CAAC;;;;;;;"}
1
+ {"version":3,"file":"middleware.js","sources":["../../../src/middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -29,9 +29,10 @@ type GetServerAuthPropsArgs = {
29
29
  isProxied: boolean;
30
30
  brand: Brand;
31
31
  language?: Language;
32
+ url?: string;
32
33
  onError?: (error: Error) => void;
33
34
  };
34
- declare const getServerAuthProps: ({ protocol, host, isProxied, brand, language, onError, }: GetServerAuthPropsArgs) => Promise<AuthProps>;
35
+ declare const getServerAuthProps: ({ protocol, host, isProxied, brand, language, url, onError, }: GetServerAuthPropsArgs) => Promise<AuthProps>;
35
36
 
36
37
  type HandlerCreatorParams = {
37
38
  brand: Brand;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smg-automotive/auth",
3
- "version": "6.2.0-middleware-token-refresh.2",
3
+ "version": "6.3.0-middleware-token-refresh.1",
4
4
  "description": "SMG Automotive auth package",
5
5
  "exports": {
6
6
  ".": {