@smg-automotive/auth 6.8.0-auth0-update-login-customisations.2 → 6.8.0-auth0-update-root.2

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 (51) hide show
  1. package/dist/cjs/lib/authLinks.d.ts +1 -5
  2. package/dist/cjs/lib/authLinks.js +5 -20
  3. package/dist/cjs/lib/authLinks.js.map +1 -1
  4. package/dist/cjs/server/getAuth0Instance.d.ts +1 -3
  5. package/dist/cjs/server/getAuth0Instance.js +1 -5
  6. package/dist/cjs/server/getAuth0Instance.js.map +1 -1
  7. package/dist/cjs/server/middleware.js +4 -24
  8. package/dist/cjs/server/middleware.js.map +1 -1
  9. package/dist/esm/lib/authLinks.d.ts +1 -5
  10. package/dist/esm/lib/authLinks.js +5 -20
  11. package/dist/esm/lib/authLinks.js.map +1 -1
  12. package/dist/esm/server/getAuth0Instance.d.ts +1 -3
  13. package/dist/esm/server/getAuth0Instance.js +1 -5
  14. package/dist/esm/server/getAuth0Instance.js.map +1 -1
  15. package/dist/esm/server/middleware.js +4 -24
  16. package/dist/esm/server/middleware.js.map +1 -1
  17. package/package.json +1 -1
  18. package/dist/cjs/api/baseUrl.js +0 -10
  19. package/dist/cjs/api/baseUrl.js.map +0 -1
  20. package/dist/cjs/api/seller/client.js +0 -14
  21. package/dist/cjs/api/seller/client.js.map +0 -1
  22. package/dist/cjs/api/seller/getSeller.js +0 -21
  23. package/dist/cjs/api/seller/getSeller.js.map +0 -1
  24. package/dist/cjs/lib/enrichUser/auth0.d.ts +0 -6
  25. package/dist/cjs/lib/enrichUser/auth0.js +0 -39
  26. package/dist/cjs/lib/enrichUser/auth0.js.map +0 -1
  27. package/dist/cjs/server/hooks/beforeSessionSaved.d.ts +0 -3
  28. package/dist/cjs/server/hooks/beforeSessionSaved.js +0 -22
  29. package/dist/cjs/server/hooks/beforeSessionSaved.js.map +0 -1
  30. package/dist/cjs/server/hooks/onCallback.d.ts +0 -9
  31. package/dist/cjs/server/hooks/onCallback.js +0 -93
  32. package/dist/cjs/server/hooks/onCallback.js.map +0 -1
  33. package/dist/cjs/types/brand.js +0 -8
  34. package/dist/cjs/types/brand.js.map +0 -1
  35. package/dist/esm/api/baseUrl.js +0 -8
  36. package/dist/esm/api/baseUrl.js.map +0 -1
  37. package/dist/esm/api/seller/client.js +0 -12
  38. package/dist/esm/api/seller/client.js.map +0 -1
  39. package/dist/esm/api/seller/getSeller.js +0 -19
  40. package/dist/esm/api/seller/getSeller.js.map +0 -1
  41. package/dist/esm/lib/enrichUser/auth0.d.ts +0 -6
  42. package/dist/esm/lib/enrichUser/auth0.js +0 -37
  43. package/dist/esm/lib/enrichUser/auth0.js.map +0 -1
  44. package/dist/esm/server/hooks/beforeSessionSaved.d.ts +0 -3
  45. package/dist/esm/server/hooks/beforeSessionSaved.js +0 -20
  46. package/dist/esm/server/hooks/beforeSessionSaved.js.map +0 -1
  47. package/dist/esm/server/hooks/onCallback.d.ts +0 -9
  48. package/dist/esm/server/hooks/onCallback.js +0 -91
  49. package/dist/esm/server/hooks/onCallback.js.map +0 -1
  50. package/dist/esm/types/brand.js +0 -8
  51. package/dist/esm/types/brand.js.map +0 -1
@@ -1,16 +1,12 @@
1
1
  import { Language } from '@smg-automotive/i18n-pkg';
2
- import { Brand } from 'src/types/brand';
3
2
  import { Auth0Config } from 'src/types';
4
3
  export declare const getLogoutLink: ({ returnTo, language, auth0Config, }: {
5
4
  returnTo?: string;
6
5
  language?: Language;
7
6
  auth0Config: Auth0Config | null;
8
7
  }) => string;
9
- export declare const getLoginLink: ({ returnTo, language, auth0Config, selectedSellerId, impersonateSellerId, brand, }: {
8
+ export declare const getLoginLink: ({ returnTo, language, auth0Config, }: {
10
9
  returnTo?: string;
11
10
  language?: Language;
12
11
  auth0Config: Auth0Config | null;
13
- selectedSellerId?: string;
14
- impersonateSellerId?: string;
15
- brand: Brand;
16
12
  }) => string;
@@ -1,30 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var i18nPkg = require('@smg-automotive/i18n-pkg');
4
- var brand = require('../types/brand.js');
5
4
 
6
- const mapLegacyVehicleTypeGroup = (brand$1) => {
7
- switch (brand$1) {
8
- case brand.Brand.AutoScout24:
9
- return '1';
10
- case brand.Brand.MotoScout24:
11
- return '2';
12
- }
13
- };
14
- const getLoginLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Config, selectedSellerId, impersonateSellerId, brand, }) => {
5
+ const getLoginLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Config, }) => {
15
6
  if (!auth0Config) {
16
7
  throw new Error('Missing auth0Config');
17
8
  }
18
- const searchParams = new URLSearchParams({
19
- locale: language,
20
- legacy_vehicletypegroup_id: mapLegacyVehicleTypeGroup(brand),
21
- ...(selectedSellerId ? { seller_id: selectedSellerId } : {}),
22
- ...(impersonateSellerId
23
- ? { impersonate_seller_id: impersonateSellerId }
24
- : {}),
25
- ...(returnTo ? { returnTo: returnTo } : {}),
26
- });
27
- return `${auth0Config.loginEndpoint}?${searchParams.toString()}`;
9
+ const encodedReturnTo = returnTo
10
+ ? `&returnTo=${encodeURIComponent(returnTo)}`
11
+ : '';
12
+ return `${auth0Config.loginEndpoint}?locale=${language}${encodedReturnTo}`;
28
13
  };
29
14
 
30
15
  exports.getLoginLink = getLoginLink;
@@ -1 +1 @@
1
- {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":["brand","Brand","defaultLanguage"],"mappings":";;;;;AAKA,MAAM,yBAAyB,GAAG,CAACA,OAAY,KAAI;IACjD,QAAQA,OAAK;QACX,KAAKC,WAAK,CAAC,WAAW;AACpB,YAAA,OAAO,GAAG;QACZ,KAAKA,WAAK,CAAC,WAAW;AACpB,YAAA,OAAO,GAAG;;AAEhB,CAAC;MAsBY,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAGC,uBAAe,EAC1B,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,GAQN,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AAEA,IAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACvC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,0BAA0B,EAAE,yBAAyB,CAAC,KAAK,CAAC;AAC5D,QAAA,IAAI,gBAAgB,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,IAAI;AACF,cAAE,EAAE,qBAAqB,EAAE,mBAAmB;cAC5C,EAAE,CAAC;AACP,QAAA,IAAI,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,KAAA,CAAC;IAEF,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE;AAClE;;;;"}
1
+ {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":["defaultLanguage"],"mappings":";;;;AAwBO,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAGA,uBAAe,EAC1B,WAAW,GAKZ,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IACA,MAAM,eAAe,GAAG;AACtB,UAAE,CAAA,UAAA,EAAa,kBAAkB,CAAC,QAAQ,CAAC,CAAA;UACzC,EAAE;IAEN,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,WAAW,QAAQ,CAAA,EAAG,eAAe,CAAA,CAAE;AAC5E;;;;"}
@@ -4,7 +4,5 @@ type GetAuth0InstanceContext = {
4
4
  host: string;
5
5
  isProxied: boolean;
6
6
  };
7
- export declare const getAuth0Instance: ({ protocol, host, isProxied, onError, }: GetAuth0InstanceContext & {
8
- onError?: (error: Error) => void;
9
- }) => Auth0Client;
7
+ export declare const getAuth0Instance: ({ protocol, host, isProxied, }: GetAuth0InstanceContext) => Auth0Client;
10
8
  export {};
@@ -2,14 +2,12 @@
2
2
 
3
3
  var server = require('@auth0/nextjs-auth0/server');
4
4
  var auth0 = require('../config/auth0.js');
5
- var onCallback = require('./hooks/onCallback.js');
6
- var beforeSessionSaved = require('./hooks/beforeSessionSaved.js');
7
5
 
8
6
  const instances = {};
9
7
  const buildInstanceKey = ({ host, isProxied, protocol, }) => {
10
8
  return `${protocol}-${host}-isProxied-${isProxied}`;
11
9
  };
12
- const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
10
+ const getAuth0Instance = ({ protocol, host, isProxied, }) => {
13
11
  const key = buildInstanceKey({ host, isProxied, protocol });
14
12
  const instance = instances[key];
15
13
  if (instance) {
@@ -33,8 +31,6 @@ const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
33
31
  scope: auth0Config.scopes,
34
32
  audience: auth0Config.audience,
35
33
  },
36
- beforeSessionSaved: beforeSessionSaved.beforeSessionSavedFactory(auth0Config),
37
- onCallback: onCallback.onCallbackFactory({ auth0Config, appBaseUrl, onError }),
38
34
  });
39
35
  instances[key] = newInstance;
40
36
  return newInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","Auth0Client","beforeSessionSavedFactory","onCallbackFactory"],"mappings":";;;;;;;AAQA,MAAM,SAAS,GAAmB,EAAE;AAQpC,MAAM,gBAAgB,GAAG,CAAC,EACxB,IAAI,EACJ,SAAS,EACT,QAAQ,GACgB,KAAI;AAC5B,IAAA,OAAO,GAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,WAAA,EAAc,SAAS,EAAE;AACrD,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,GAGR,KAAiB;AAChB,IAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC3D,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,GAAGA,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;AACjD,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;AAC1C,IAAA,MAAM,WAAW,GAAG,IAAIC,kBAAW,CAAC;QAClC,UAAU;AACV,QAAA,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,aAAa;YAChC,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;AACvC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,WAAW,CAAC,iBAAiB;AACpC,aAAA;AACF,SAAA;AACD,QAAA,uBAAuB,EAAE;YACvB,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC/B,SAAA;AACD,QAAA,kBAAkB,EAAEC,4CAAyB,CAAC,WAAW,CAAC;QAC1D,UAAU,EAAEC,4BAAiB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACpE,KAAA,CAAC;AACF,IAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW;AAC5B,IAAA,OAAO,WAAW;AACpB;;;;"}
1
+ {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","Auth0Client"],"mappings":";;;;;AAKA,MAAM,SAAS,GAAmB,EAAE;AAQpC,MAAM,gBAAgB,GAAG,CAAC,EACxB,IAAI,EACJ,SAAS,EACT,QAAQ,GACgB,KAAI;AAC5B,IAAA,OAAO,GAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,WAAA,EAAc,SAAS,EAAE;AACrD,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,SAAS,GACe,KAAiB;AACzC,IAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC3D,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,GAAGA,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;AACjD,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;AAC1C,IAAA,MAAM,WAAW,GAAG,IAAIC,kBAAW,CAAC;QAClC,UAAU;AACV,QAAA,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,aAAa;YAChC,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;AACvC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,WAAW,CAAC,iBAAiB;AACpC,aAAA;AACF,SAAA;AACD,QAAA,uBAAuB,EAAE;YACvB,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC/B,SAAA;AACF,KAAA,CAAC;AACF,IAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW;AAC5B,IAAA,OAAO,WAAW;AACpB;;;;"}
@@ -1,30 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var server = require('next/server');
4
- var brand = require('../types/brand.js');
5
4
  var authLinks = require('../lib/authLinks.js');
6
5
  var auth0 = require('../config/auth0.js');
7
6
  var getAuth0Instance = require('./getAuth0Instance.js');
8
7
 
9
- const deriveBrandFromOrigin = (origin) => {
10
- const isLocalhost = origin.includes('localhost');
11
- const isAutoscout24 = origin.includes(brand.Brand.AutoScout24.toLowerCase());
12
- const isMotoScout24 = origin.includes(brand.Brand.MotoScout24.toLowerCase());
13
- if (isLocalhost || isAutoscout24) {
14
- return brand.Brand.AutoScout24;
15
- }
16
- if (isMotoScout24) {
17
- return brand.Brand.MotoScout24;
18
- }
19
- throw new Error(`Brand could not be derived for the host: ${origin}`);
20
- };
21
8
  const redirectToLogin = ({ auth0Config, language, returnTo, origin, }) => {
22
- const brand = deriveBrandFromOrigin(origin);
23
9
  const loginUrl = authLinks.getLoginLink({
24
10
  auth0Config,
25
11
  language,
26
12
  returnTo,
27
- brand,
28
13
  });
29
14
  return server.NextResponse.redirect(new URL(loginUrl, origin), {
30
15
  status: 307,
@@ -45,16 +30,14 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
45
30
  const auth0Instance = getAuth0Instance.getAuth0Instance({ host, protocol, isProxied });
46
31
  const auth0Config = auth0.getAuth0Config({ isProxied });
47
32
  const isAuthErrorRoute = pathname.endsWith(auth0Config.globalAuthErrorPath);
48
- const isProtected = !isAuthErrorRoute && isProtectedRoute(pathname);
49
33
  const authResponse = await auth0Instance.middleware(request);
50
- if (isAuthRoute(pathname, auth0Config)) {
34
+ if (isAuthErrorRoute ||
35
+ isAuthRoute(pathname, auth0Config) ||
36
+ !isProtectedRoute(pathname)) {
51
37
  return authResponse;
52
38
  }
53
39
  const session = await auth0Instance.getSession(request);
54
- if (!isProtected && !session?.user) {
55
- return authResponse;
56
- }
57
- if (!session && isProtected) {
40
+ if (!session) {
58
41
  return redirectToLogin({
59
42
  auth0Config,
60
43
  language,
@@ -69,9 +52,6 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
69
52
  catch (error) {
70
53
  const authError = error;
71
54
  onError?.(authError);
72
- if (!isProtected) {
73
- return authResponse;
74
- }
75
55
  return redirectToLogin({
76
56
  auth0Config,
77
57
  language,
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sources":["../../../../src/server/middleware.ts"],"sourcesContent":[null],"names":["Brand","getLoginLink","NextResponse","getAuth0Instance","getAuth0Config"],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sources":["../../../../src/server/middleware.ts"],"sourcesContent":[null],"names":["getLoginLink","NextResponse","getAuth0Instance","getAuth0Config"],"mappings":";;;;;;;AAWA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAI;IACH,MAAM,QAAQ,GAAGA,sBAAY,CAAC;QAC5B,WAAW;QACX,QAAQ;QACR,QAAQ;AACT,KAAA,CAAC;IAEF,OAAOC,mBAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtD,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,GASR,KAA2B;IAC1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;AACpD,IAAA,MAAM,aAAa,GAAGC,iCAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAA,IACE,gBAAgB;AAChB,QAAA,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC;AAClC,QAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAC3B;AACA,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,eAAe,CAAC;YACrB,WAAW;YACX,QAAQ;AACR,YAAA,QAAQ,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;YAChC,MAAM;AACP,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI;;QAEF,MAAM,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC;IAC3D;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,SAAS,GAAG,KAAiB;AACnC,QAAA,OAAO,GAAG,SAAS,CAAC;AAEpB,QAAA,OAAO,eAAe,CAAC;YACrB,WAAW;YACX,QAAQ;AACR,YAAA,QAAQ,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;YAChC,MAAM;AACP,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,2BAA2B,GAAGF,mBAAY,CAAC,IAAI,CAAC;AACpD,QAAA,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,SAAA;AACF,KAAA,CAAC;IACF,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;QAC1C,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACrD,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,2BAA2B;AACpC;;;;"}
@@ -1,16 +1,12 @@
1
1
  import { Language } from '@smg-automotive/i18n-pkg';
2
- import { Brand } from 'src/types/brand';
3
2
  import { Auth0Config } from 'src/types';
4
3
  export declare const getLogoutLink: ({ returnTo, language, auth0Config, }: {
5
4
  returnTo?: string;
6
5
  language?: Language;
7
6
  auth0Config: Auth0Config | null;
8
7
  }) => string;
9
- export declare const getLoginLink: ({ returnTo, language, auth0Config, selectedSellerId, impersonateSellerId, brand, }: {
8
+ export declare const getLoginLink: ({ returnTo, language, auth0Config, }: {
10
9
  returnTo?: string;
11
10
  language?: Language;
12
11
  auth0Config: Auth0Config | null;
13
- selectedSellerId?: string;
14
- impersonateSellerId?: string;
15
- brand: Brand;
16
12
  }) => string;
@@ -1,28 +1,13 @@
1
1
  import { defaultLanguage } from '@smg-automotive/i18n-pkg';
2
- import { Brand } from '../types/brand.js';
3
2
 
4
- const mapLegacyVehicleTypeGroup = (brand) => {
5
- switch (brand) {
6
- case Brand.AutoScout24:
7
- return '1';
8
- case Brand.MotoScout24:
9
- return '2';
10
- }
11
- };
12
- const getLoginLink = ({ returnTo, language = defaultLanguage, auth0Config, selectedSellerId, impersonateSellerId, brand, }) => {
3
+ const getLoginLink = ({ returnTo, language = defaultLanguage, auth0Config, }) => {
13
4
  if (!auth0Config) {
14
5
  throw new Error('Missing auth0Config');
15
6
  }
16
- const searchParams = new URLSearchParams({
17
- locale: language,
18
- legacy_vehicletypegroup_id: mapLegacyVehicleTypeGroup(brand),
19
- ...(selectedSellerId ? { seller_id: selectedSellerId } : {}),
20
- ...(impersonateSellerId
21
- ? { impersonate_seller_id: impersonateSellerId }
22
- : {}),
23
- ...(returnTo ? { returnTo: returnTo } : {}),
24
- });
25
- return `${auth0Config.loginEndpoint}?${searchParams.toString()}`;
7
+ const encodedReturnTo = returnTo
8
+ ? `&returnTo=${encodeURIComponent(returnTo)}`
9
+ : '';
10
+ return `${auth0Config.loginEndpoint}?locale=${language}${encodedReturnTo}`;
26
11
  };
27
12
 
28
13
  export { getLoginLink };
@@ -1 +1 @@
1
- {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA,MAAM,yBAAyB,GAAG,CAAC,KAAY,KAAI;IACjD,QAAQ,KAAK;QACX,KAAK,KAAK,CAAC,WAAW;AACpB,YAAA,OAAO,GAAG;QACZ,KAAK,KAAK,CAAC,WAAW;AACpB,YAAA,OAAO,GAAG;;AAEhB,CAAC;MAsBY,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC1B,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,GAQN,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AAEA,IAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACvC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,0BAA0B,EAAE,yBAAyB,CAAC,KAAK,CAAC;AAC5D,QAAA,IAAI,gBAAgB,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,IAAI;AACF,cAAE,EAAE,qBAAqB,EAAE,mBAAmB;cAC5C,EAAE,CAAC;AACP,QAAA,IAAI,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,KAAA,CAAC;IAEF,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE;AAClE;;;;"}
1
+ {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAwBO,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC1B,WAAW,GAKZ,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IACA,MAAM,eAAe,GAAG;AACtB,UAAE,CAAA,UAAA,EAAa,kBAAkB,CAAC,QAAQ,CAAC,CAAA;UACzC,EAAE;IAEN,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,WAAW,QAAQ,CAAA,EAAG,eAAe,CAAA,CAAE;AAC5E;;;;"}
@@ -4,7 +4,5 @@ type GetAuth0InstanceContext = {
4
4
  host: string;
5
5
  isProxied: boolean;
6
6
  };
7
- export declare const getAuth0Instance: ({ protocol, host, isProxied, onError, }: GetAuth0InstanceContext & {
8
- onError?: (error: Error) => void;
9
- }) => Auth0Client;
7
+ export declare const getAuth0Instance: ({ protocol, host, isProxied, }: GetAuth0InstanceContext) => Auth0Client;
10
8
  export {};
@@ -1,13 +1,11 @@
1
1
  import { Auth0Client } from '@auth0/nextjs-auth0/server';
2
2
  import { getAuth0Config } from '../config/auth0.js';
3
- import { onCallbackFactory } from './hooks/onCallback.js';
4
- import { beforeSessionSavedFactory } from './hooks/beforeSessionSaved.js';
5
3
 
6
4
  const instances = {};
7
5
  const buildInstanceKey = ({ host, isProxied, protocol, }) => {
8
6
  return `${protocol}-${host}-isProxied-${isProxied}`;
9
7
  };
10
- const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
8
+ const getAuth0Instance = ({ protocol, host, isProxied, }) => {
11
9
  const key = buildInstanceKey({ host, isProxied, protocol });
12
10
  const instance = instances[key];
13
11
  if (instance) {
@@ -31,8 +29,6 @@ const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
31
29
  scope: auth0Config.scopes,
32
30
  audience: auth0Config.audience,
33
31
  },
34
- beforeSessionSaved: beforeSessionSavedFactory(auth0Config),
35
- onCallback: onCallbackFactory({ auth0Config, appBaseUrl, onError }),
36
32
  });
37
33
  instances[key] = newInstance;
38
34
  return newInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA,MAAM,SAAS,GAAmB,EAAE;AAQpC,MAAM,gBAAgB,GAAG,CAAC,EACxB,IAAI,EACJ,SAAS,EACT,QAAQ,GACgB,KAAI;AAC5B,IAAA,OAAO,GAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,WAAA,EAAc,SAAS,EAAE;AACrD,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,GAGR,KAAiB;AAChB,IAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC3D,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;AACjD,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;AAC1C,IAAA,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,UAAU;AACV,QAAA,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,aAAa;YAChC,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;AACvC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,WAAW,CAAC,iBAAiB;AACpC,aAAA;AACF,SAAA;AACD,QAAA,uBAAuB,EAAE;YACvB,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC/B,SAAA;AACD,QAAA,kBAAkB,EAAE,yBAAyB,CAAC,WAAW,CAAC;QAC1D,UAAU,EAAE,iBAAiB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACpE,KAAA,CAAC;AACF,IAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW;AAC5B,IAAA,OAAO,WAAW;AACpB;;;;"}
1
+ {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA,MAAM,SAAS,GAAmB,EAAE;AAQpC,MAAM,gBAAgB,GAAG,CAAC,EACxB,IAAI,EACJ,SAAS,EACT,QAAQ,GACgB,KAAI;AAC5B,IAAA,OAAO,GAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,WAAA,EAAc,SAAS,EAAE;AACrD,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,SAAS,GACe,KAAiB;AACzC,IAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC3D,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;AACjD,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;AAC1C,IAAA,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,UAAU;AACV,QAAA,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,aAAa;YAChC,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;AACvC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,WAAW,CAAC,iBAAiB;AACpC,aAAA;AACF,SAAA;AACD,QAAA,uBAAuB,EAAE;YACvB,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC/B,SAAA;AACF,KAAA,CAAC;AACF,IAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW;AAC5B,IAAA,OAAO,WAAW;AACpB;;;;"}
@@ -1,28 +1,13 @@
1
1
  import { NextResponse } from 'next/server';
2
- import { Brand } from '../types/brand.js';
3
2
  import { getLoginLink } from '../lib/authLinks.js';
4
3
  import { getAuth0Config } from '../config/auth0.js';
5
4
  import { getAuth0Instance } from './getAuth0Instance.js';
6
5
 
7
- const deriveBrandFromOrigin = (origin) => {
8
- const isLocalhost = origin.includes('localhost');
9
- const isAutoscout24 = origin.includes(Brand.AutoScout24.toLowerCase());
10
- const isMotoScout24 = origin.includes(Brand.MotoScout24.toLowerCase());
11
- if (isLocalhost || isAutoscout24) {
12
- return Brand.AutoScout24;
13
- }
14
- if (isMotoScout24) {
15
- return Brand.MotoScout24;
16
- }
17
- throw new Error(`Brand could not be derived for the host: ${origin}`);
18
- };
19
6
  const redirectToLogin = ({ auth0Config, language, returnTo, origin, }) => {
20
- const brand = deriveBrandFromOrigin(origin);
21
7
  const loginUrl = getLoginLink({
22
8
  auth0Config,
23
9
  language,
24
10
  returnTo,
25
- brand,
26
11
  });
27
12
  return NextResponse.redirect(new URL(loginUrl, origin), {
28
13
  status: 307,
@@ -43,16 +28,14 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
43
28
  const auth0Instance = getAuth0Instance({ host, protocol, isProxied });
44
29
  const auth0Config = getAuth0Config({ isProxied });
45
30
  const isAuthErrorRoute = pathname.endsWith(auth0Config.globalAuthErrorPath);
46
- const isProtected = !isAuthErrorRoute && isProtectedRoute(pathname);
47
31
  const authResponse = await auth0Instance.middleware(request);
48
- if (isAuthRoute(pathname, auth0Config)) {
32
+ if (isAuthErrorRoute ||
33
+ isAuthRoute(pathname, auth0Config) ||
34
+ !isProtectedRoute(pathname)) {
49
35
  return authResponse;
50
36
  }
51
37
  const session = await auth0Instance.getSession(request);
52
- if (!isProtected && !session?.user) {
53
- return authResponse;
54
- }
55
- if (!session && isProtected) {
38
+ if (!session) {
56
39
  return redirectToLogin({
57
40
  auth0Config,
58
41
  language,
@@ -67,9 +50,6 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
67
50
  catch (error) {
68
51
  const authError = error;
69
52
  onError?.(authError);
70
- if (!isProtected) {
71
- return authResponse;
72
- }
73
53
  return redirectToLogin({
74
54
  auth0Config,
75
55
  language,
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sources":["../../../../src/server/middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sources":["../../../../src/server/middleware.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAWA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAI;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC5B,WAAW;QACX,QAAQ;QACR,QAAQ;AACT,KAAA,CAAC;IAEF,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtD,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,GASR,KAA2B;IAC1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;AACpD,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAA,IACE,gBAAgB;AAChB,QAAA,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC;AAClC,QAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAC3B;AACA,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,eAAe,CAAC;YACrB,WAAW;YACX,QAAQ;AACR,YAAA,QAAQ,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;YAChC,MAAM;AACP,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI;;QAEF,MAAM,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC;IAC3D;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,SAAS,GAAG,KAAiB;AACnC,QAAA,OAAO,GAAG,SAAS,CAAC;AAEpB,QAAA,OAAO,eAAe,CAAC;YACrB,WAAW;YACX,QAAQ;AACR,YAAA,QAAQ,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;YAChC,MAAM;AACP,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,2BAA2B,GAAG,YAAY,CAAC,IAAI,CAAC;AACpD,QAAA,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,SAAA;AACF,KAAA,CAAC;IACF,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;QAC1C,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACrD,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,2BAA2B;AACpC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smg-automotive/auth",
3
- "version": "6.8.0-auth0-update-login-customisations.2",
3
+ "version": "6.8.0-auth0-update-root.2",
4
4
  "description": "SMG Automotive auth package",
5
5
  "exports": {
6
6
  ".": {
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- const apiConfig = {
4
- apiRoot: process.env.API_ROOT,
5
- apiVersion: process.env.API_VERSION,
6
- };
7
- const baseUrl = `https://${apiConfig.apiRoot}/${apiConfig.apiVersion}`;
8
-
9
- exports.baseUrl = baseUrl;
10
- //# sourceMappingURL=baseUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseUrl.js","sources":["../../../../src/api/baseUrl.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAM,SAAS,GAAG;AAChB,IAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;AAC7B,IAAA,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;CAC3B;AAEH,MAAM,OAAO,GAAG,CAAA,QAAA,EAAW,SAAS,CAAC,OAAO,CAAA,CAAA,EAAI,SAAS,CAAC,UAAU;;;;"}
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- var apiClientPkg = require('@smg-automotive/api-client-pkg');
4
- var baseUrl = require('../baseUrl.js');
5
-
6
- const sellerClient = apiClientPkg.ApiClient({
7
- baseUrl: baseUrl.baseUrl,
8
- headers: {
9
- 'Content-Type': 'application/json',
10
- },
11
- });
12
-
13
- exports.sellerClient = sellerClient;
14
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAeO,MAAM,YAAY,GAErBA,sBAAS,CAA4B;aACvCC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- var client = require('./client.js');
4
-
5
- const getSeller = async ({ sellerId }) => {
6
- const response = await client.sellerClient
7
- .path('sellers/{sellerId}', {
8
- sellerId,
9
- })
10
- .get();
11
- if (response.ok) {
12
- return response.body;
13
- }
14
- if (response.status === 404) {
15
- return null;
16
- }
17
- throw new Error(response.statusText);
18
- };
19
-
20
- exports.getSeller = getSeller;
21
- //# sourceMappingURL=getSeller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSeller.js","sources":["../../../../../src/api/seller/getSeller.ts"],"sourcesContent":[null],"names":["sellerClient"],"mappings":";;;;AAEO,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAwB,KAAI;IACpE,MAAM,QAAQ,GAAG,MAAMA;SACpB,IAAI,CAAC,oBAAoB,EAAE;QAC1B,QAAQ;KACT;AACA,SAAA,GAAG,EAAE;AAER,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -1,6 +0,0 @@
1
- import { Auth0User, type IncompleteSessionUser, type SessionUser } from 'src/types';
2
- export declare const enrichUser: ({ auth0User, accessToken, userHasSelectedSeller, }: {
3
- auth0User: Auth0User;
4
- accessToken: string | null;
5
- userHasSelectedSeller: boolean;
6
- }) => Promise<SessionUser | IncompleteSessionUser>;
@@ -1,39 +0,0 @@
1
- 'use strict';
2
-
3
- var jose = require('jose');
4
- var user = require('../../types/auth0/user.js');
5
- var getSeller = require('../../api/seller/getSeller.js');
6
- require('../../api/seller/client.js');
7
-
8
- const enrichUser = async ({ auth0User, accessToken, userHasSelectedSeller = false, }) => {
9
- if (!accessToken) {
10
- throw new Error('Please provide an access token to enrich the user');
11
- }
12
- const decodedToken = jose.decodeJwt(accessToken);
13
- const isMultiTenantUser = !!decodedToken.isMultiTenantUser;
14
- const forceTenantSelection = isMultiTenantUser && !userHasSelectedSeller;
15
- const sellerId = parseInt(decodedToken.sellerIds[0], 10);
16
- const commonUser = {
17
- ...auth0User,
18
- isImpersonated: !!decodedToken.isImpersonated,
19
- userId: decodedToken.user_id.toString(),
20
- forceTenantSelection,
21
- isMultiTenantUser,
22
- };
23
- const seller = await getSeller.getSeller({
24
- sellerId: Number(sellerId),
25
- });
26
- if (!seller) {
27
- // eslint-disable-next-line no-console
28
- console.warn(`[Auth-package] Could not load seller for sellerId ${sellerId}`);
29
- }
30
- const enrichedUser = {
31
- ...commonUser,
32
- userType: seller?.type ?? user.Auth0UserType.Private,
33
- sellerId: sellerId.toString(),
34
- };
35
- return enrichedUser;
36
- };
37
-
38
- exports.enrichUser = enrichUser;
39
- //# sourceMappingURL=auth0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth0.js","sources":["../../../../../src/lib/enrichUser/auth0.ts"],"sourcesContent":[null],"names":["decodeJwt","getSeller","Auth0UserType"],"mappings":";;;;;;;AAWO,MAAM,UAAU,GAAG,OAAO,EAC/B,SAAS,EACT,WAAW,EACX,qBAAqB,GAAG,KAAK,GAK9B,KAAkD;IACjD,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;AAEA,IAAA,MAAM,YAAY,GAAGA,cAAS,CAAkB,WAAW,CAAC;AAC5D,IAAA,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC,iBAAiB;AAC1D,IAAA,MAAM,oBAAoB,GAAG,iBAAiB,IAAI,CAAC,qBAAqB;AACxE,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxD,IAAA,MAAM,UAAU,GAA0B;AACxC,QAAA,GAAG,SAAS;AACZ,QAAA,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc;AAC7C,QAAA,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;QACvC,oBAAoB;QACpB,iBAAiB;KAClB;AAED,IAAA,MAAM,MAAM,GAAG,MAAMC,mBAAS,CAAC;AAC7B,QAAA,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC3B,KAAA,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE;;AAEX,QAAA,OAAO,CAAC,IAAI,CACV,qDAAqD,QAAQ,CAAA,CAAE,CAChE;IACH;AAEA,IAAA,MAAM,YAAY,GAAgB;AAChC,QAAA,GAAG,UAAU;AACb,QAAA,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAIC,kBAAa,CAAC,OAAO;AAC/C,QAAA,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;KAC9B;AACD,IAAA,OAAO,YAAY;AACrB;;;;"}
@@ -1,3 +0,0 @@
1
- import { SessionData } from '@auth0/nextjs-auth0/types';
2
- import { Auth0Config } from 'src/types';
3
- export declare const beforeSessionSavedFactory: (auth0Config: Auth0Config) => ({ user, internal, tokenSet: { accessToken, refreshToken, expiresAt }, }: SessionData) => Promise<SessionData>;
@@ -1,22 +0,0 @@
1
- 'use strict';
2
-
3
- var headers = require('next/headers');
4
- var auth0 = require('../../lib/enrichUser/auth0.js');
5
-
6
- const beforeSessionSavedFactory = (auth0Config) => async ({ user, internal, tokenSet: { accessToken, refreshToken, expiresAt }, }) => {
7
- const cookieStore = await headers.cookies();
8
- const selectedSellerId = cookieStore.get(auth0Config.selectedSellerIdCookie.name)?.value ?? null;
9
- const enrichedUser = await auth0.enrichUser({
10
- accessToken: accessToken ?? null,
11
- auth0User: user,
12
- userHasSelectedSeller: !!selectedSellerId,
13
- });
14
- return {
15
- user: enrichedUser,
16
- tokenSet: { accessToken, refreshToken, expiresAt },
17
- internal,
18
- };
19
- };
20
-
21
- exports.beforeSessionSavedFactory = beforeSessionSavedFactory;
22
- //# sourceMappingURL=beforeSessionSaved.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"beforeSessionSaved.js","sources":["../../../../../src/server/hooks/beforeSessionSaved.ts"],"sourcesContent":[null],"names":["cookies","enrichUser"],"mappings":";;;;;AAMO,MAAM,yBAAyB,GACpC,CAAC,WAAwB,KACzB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GACtC,KAA0B;AACtC,IAAA,MAAM,WAAW,GAAG,MAAMA,eAAO,EAAE;AACnC,IAAA,MAAM,gBAAgB,GACpB,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI;AAEzE,IAAA,MAAM,YAAY,GAAG,MAAMC,gBAAU,CAAC;QACpC,WAAW,EAAE,WAAW,IAAI,IAAI;AAChC,QAAA,SAAS,EAAE,IAAiB;QAC5B,qBAAqB,EAAE,CAAC,CAAC,gBAAgB;AAC1C,KAAA,CAAC;IAEF,OAAO;AACL,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE;QAClD,QAAQ;KACT;AACH;;;;"}
@@ -1,9 +0,0 @@
1
- import { NextResponse } from 'next/server';
2
- import type { OnCallbackContext, SessionData } from '@auth0/nextjs-auth0/types';
3
- import type { SdkError } from '@auth0/nextjs-auth0/errors';
4
- import { Auth0Config } from 'src/types';
5
- export declare const onCallbackFactory: ({ auth0Config, appBaseUrl, onError, }: {
6
- auth0Config: Auth0Config;
7
- appBaseUrl: string;
8
- onError?: (error: Error) => void;
9
- }) => (error: SdkError | null, context: OnCallbackContext, session: SessionData | null) => Promise<NextResponse>;
@@ -1,93 +0,0 @@
1
- 'use strict';
2
-
3
- var server = require('next/server');
4
- var headers = require('next/headers');
5
- var jose = require('jose');
6
-
7
- const getLocaleFromContext = ({ returnTo }) => {
8
- if (!returnTo) {
9
- return '';
10
- }
11
- try {
12
- const url = new URL(returnTo);
13
- return url.searchParams.get('locale') || url.pathname.split('/')[1];
14
- }
15
- catch (parsingError) {
16
- // eslint-disable-next-line no-console
17
- console.warn('[Auth-package] Failed to parse locale from returnTo', parsingError);
18
- }
19
- return '';
20
- };
21
- const incompleteTokenErrorCode = 'ERR_INCOMPLETE_TOKEN';
22
- const handleAuth0Error = ({ error, auth0Config, appBaseUrl, localeFromUrl, onError, }) => {
23
- const authorizedLocales = auth0Config.languageConfig.supported;
24
- const locale = authorizedLocales.includes(localeFromUrl)
25
- ? localeFromUrl
26
- : auth0Config.languageConfig.default;
27
- const expectedErrors = [
28
- 'UNVERIFIED_EMAIL',
29
- 'INITIAL_UNVERIFIED_EMAIL',
30
- incompleteTokenErrorCode,
31
- ];
32
- const matchedErrorCode = (error.message ?? '').match(/\(([^)(]+)\)/);
33
- const extractedErrorCode = matchedErrorCode ? matchedErrorCode[1] : '';
34
- if (extractedErrorCode === incompleteTokenErrorCode) {
35
- // eslint-disable-next-line no-console
36
- console.info('[Auth-package] logging out user CAUSE: ERR_INCOMPLETE_TOKEN');
37
- return server.NextResponse.redirect(new URL(auth0Config.logoutEndpoint, appBaseUrl));
38
- }
39
- if (!expectedErrors.includes(extractedErrorCode)) {
40
- onError?.(error);
41
- // eslint-disable-next-line no-console
42
- console.error('[Auth-package] error', error);
43
- }
44
- const errorCodeQuery = extractedErrorCode
45
- ? `?code=${extractedErrorCode}`
46
- : '';
47
- return server.NextResponse.redirect(new URL(`/${locale}${auth0Config.globalAuthErrorPath}${errorCodeQuery}`, appBaseUrl));
48
- };
49
- const onCallbackFactory = ({ auth0Config, appBaseUrl, onError, }) => async (error, context, session) => {
50
- if (error) {
51
- const localeFromUrl = getLocaleFromContext(context);
52
- return handleAuth0Error({
53
- error,
54
- auth0Config,
55
- appBaseUrl,
56
- localeFromUrl,
57
- onError,
58
- });
59
- }
60
- if (!session?.tokenSet?.accessToken) {
61
- return server.NextResponse.redirect(new URL(context.returnTo || '/', appBaseUrl));
62
- }
63
- const cookieStore = await headers.cookies();
64
- let selectedSellerId = cookieStore.get(auth0Config.selectedSellerIdCookie.name)?.value ?? null;
65
- const decodedToken = session.tokenSet.accessToken
66
- ? jose.decodeJwt(session.tokenSet.accessToken)
67
- : null;
68
- const availableSellerIds = decodedToken?.sellerIds ?? null;
69
- if (availableSellerIds &&
70
- selectedSellerId &&
71
- Array.isArray(availableSellerIds) &&
72
- availableSellerIds.length > 0 &&
73
- !availableSellerIds.includes(selectedSellerId)) {
74
- // for the edge case where the selected seller id is not in the list of available seller ids
75
- // force update the cookie to the first available seller id
76
- // they may happen when a user uses multiple accounts with different seller ids
77
- selectedSellerId = availableSellerIds[0].toString();
78
- }
79
- const response = server.NextResponse.redirect(new URL(context.returnTo || '/', appBaseUrl));
80
- if (selectedSellerId) {
81
- response.cookies.set(auth0Config.selectedSellerIdCookie.name, selectedSellerId, auth0Config.selectedSellerIdCookie);
82
- }
83
- const impersonatedSellerId = decodedToken?.isImpersonated
84
- ? decodedToken.sellerIds[0]
85
- : null;
86
- if (impersonatedSellerId) {
87
- response.cookies.set(auth0Config.impersonatedSellerIdCookie.name, impersonatedSellerId, auth0Config.impersonatedSellerIdCookie);
88
- }
89
- return response;
90
- };
91
-
92
- exports.onCallbackFactory = onCallbackFactory;
93
- //# sourceMappingURL=onCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onCallback.js","sources":["../../../../../src/server/hooks/onCallback.ts"],"sourcesContent":[null],"names":["NextResponse","cookies","decodeJwt"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- exports.Brand = void 0;
4
- (function (Brand) {
5
- Brand["AutoScout24"] = "autoscout24";
6
- Brand["MotoScout24"] = "motoscout24";
7
- })(exports.Brand || (exports.Brand = {}));
8
- //# sourceMappingURL=brand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brand.js","sources":["../../../../src/types/brand.ts"],"sourcesContent":[null],"names":["Brand"],"mappings":";;AAAYA;AAAZ,CAAA,UAAY,KAAK,EAAA;AACf,IAAA,KAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,KAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC7B,CAAC,EAHWA,aAAK,KAALA,aAAK,GAAA,EAAA,CAAA,CAAA;;"}
@@ -1,8 +0,0 @@
1
- const apiConfig = {
2
- apiRoot: process.env.API_ROOT,
3
- apiVersion: process.env.API_VERSION,
4
- };
5
- const baseUrl = `https://${apiConfig.apiRoot}/${apiConfig.apiVersion}`;
6
-
7
- export { baseUrl };
8
- //# sourceMappingURL=baseUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseUrl.js","sources":["../../../../src/api/baseUrl.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG;AAChB,IAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;AAC7B,IAAA,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;CAC3B;AAEH,MAAM,OAAO,GAAG,CAAA,QAAA,EAAW,SAAS,CAAC,OAAO,CAAA,CAAA,EAAI,SAAS,CAAC,UAAU;;;;"}
@@ -1,12 +0,0 @@
1
- import { ApiClient } from '@smg-automotive/api-client-pkg';
2
- import { baseUrl } from '../baseUrl.js';
3
-
4
- const sellerClient = ApiClient({
5
- baseUrl,
6
- headers: {
7
- 'Content-Type': 'application/json',
8
- },
9
- });
10
-
11
- export { sellerClient };
12
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAeO,MAAM,YAAY,GAErB,SAAS,CAA4B;IACvC,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
@@ -1,19 +0,0 @@
1
- import { sellerClient } from './client.js';
2
-
3
- const getSeller = async ({ sellerId }) => {
4
- const response = await sellerClient
5
- .path('sellers/{sellerId}', {
6
- sellerId,
7
- })
8
- .get();
9
- if (response.ok) {
10
- return response.body;
11
- }
12
- if (response.status === 404) {
13
- return null;
14
- }
15
- throw new Error(response.statusText);
16
- };
17
-
18
- export { getSeller };
19
- //# sourceMappingURL=getSeller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSeller.js","sources":["../../../../../src/api/seller/getSeller.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAwB,KAAI;IACpE,MAAM,QAAQ,GAAG,MAAM;SACpB,IAAI,CAAC,oBAAoB,EAAE;QAC1B,QAAQ;KACT;AACA,SAAA,GAAG,EAAE;AAER,IAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;QACf,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;AACtC;;;;"}
@@ -1,6 +0,0 @@
1
- import { Auth0User, type IncompleteSessionUser, type SessionUser } from 'src/types';
2
- export declare const enrichUser: ({ auth0User, accessToken, userHasSelectedSeller, }: {
3
- auth0User: Auth0User;
4
- accessToken: string | null;
5
- userHasSelectedSeller: boolean;
6
- }) => Promise<SessionUser | IncompleteSessionUser>;
@@ -1,37 +0,0 @@
1
- import { decodeJwt } from 'jose';
2
- import { Auth0UserType } from '../../types/auth0/user.js';
3
- import { getSeller } from '../../api/seller/getSeller.js';
4
- import '../../api/seller/client.js';
5
-
6
- const enrichUser = async ({ auth0User, accessToken, userHasSelectedSeller = false, }) => {
7
- if (!accessToken) {
8
- throw new Error('Please provide an access token to enrich the user');
9
- }
10
- const decodedToken = decodeJwt(accessToken);
11
- const isMultiTenantUser = !!decodedToken.isMultiTenantUser;
12
- const forceTenantSelection = isMultiTenantUser && !userHasSelectedSeller;
13
- const sellerId = parseInt(decodedToken.sellerIds[0], 10);
14
- const commonUser = {
15
- ...auth0User,
16
- isImpersonated: !!decodedToken.isImpersonated,
17
- userId: decodedToken.user_id.toString(),
18
- forceTenantSelection,
19
- isMultiTenantUser,
20
- };
21
- const seller = await getSeller({
22
- sellerId: Number(sellerId),
23
- });
24
- if (!seller) {
25
- // eslint-disable-next-line no-console
26
- console.warn(`[Auth-package] Could not load seller for sellerId ${sellerId}`);
27
- }
28
- const enrichedUser = {
29
- ...commonUser,
30
- userType: seller?.type ?? Auth0UserType.Private,
31
- sellerId: sellerId.toString(),
32
- };
33
- return enrichedUser;
34
- };
35
-
36
- export { enrichUser };
37
- //# sourceMappingURL=auth0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth0.js","sources":["../../../../../src/lib/enrichUser/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAWO,MAAM,UAAU,GAAG,OAAO,EAC/B,SAAS,EACT,WAAW,EACX,qBAAqB,GAAG,KAAK,GAK9B,KAAkD;IACjD,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;AAEA,IAAA,MAAM,YAAY,GAAG,SAAS,CAAkB,WAAW,CAAC;AAC5D,IAAA,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC,iBAAiB;AAC1D,IAAA,MAAM,oBAAoB,GAAG,iBAAiB,IAAI,CAAC,qBAAqB;AACxE,IAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxD,IAAA,MAAM,UAAU,GAA0B;AACxC,QAAA,GAAG,SAAS;AACZ,QAAA,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc;AAC7C,QAAA,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;QACvC,oBAAoB;QACpB,iBAAiB;KAClB;AAED,IAAA,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;AAC7B,QAAA,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC3B,KAAA,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE;;AAEX,QAAA,OAAO,CAAC,IAAI,CACV,qDAAqD,QAAQ,CAAA,CAAE,CAChE;IACH;AAEA,IAAA,MAAM,YAAY,GAAgB;AAChC,QAAA,GAAG,UAAU;AACb,QAAA,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,aAAa,CAAC,OAAO;AAC/C,QAAA,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;KAC9B;AACD,IAAA,OAAO,YAAY;AACrB;;;;"}
@@ -1,3 +0,0 @@
1
- import { SessionData } from '@auth0/nextjs-auth0/types';
2
- import { Auth0Config } from 'src/types';
3
- export declare const beforeSessionSavedFactory: (auth0Config: Auth0Config) => ({ user, internal, tokenSet: { accessToken, refreshToken, expiresAt }, }: SessionData) => Promise<SessionData>;
@@ -1,20 +0,0 @@
1
- import { cookies } from 'next/headers';
2
- import { enrichUser } from '../../lib/enrichUser/auth0.js';
3
-
4
- const beforeSessionSavedFactory = (auth0Config) => async ({ user, internal, tokenSet: { accessToken, refreshToken, expiresAt }, }) => {
5
- const cookieStore = await cookies();
6
- const selectedSellerId = cookieStore.get(auth0Config.selectedSellerIdCookie.name)?.value ?? null;
7
- const enrichedUser = await enrichUser({
8
- accessToken: accessToken ?? null,
9
- auth0User: user,
10
- userHasSelectedSeller: !!selectedSellerId,
11
- });
12
- return {
13
- user: enrichedUser,
14
- tokenSet: { accessToken, refreshToken, expiresAt },
15
- internal,
16
- };
17
- };
18
-
19
- export { beforeSessionSavedFactory };
20
- //# sourceMappingURL=beforeSessionSaved.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"beforeSessionSaved.js","sources":["../../../../../src/server/hooks/beforeSessionSaved.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAMO,MAAM,yBAAyB,GACpC,CAAC,WAAwB,KACzB,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GACtC,KAA0B;AACtC,IAAA,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE;AACnC,IAAA,MAAM,gBAAgB,GACpB,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI;AAEzE,IAAA,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;QACpC,WAAW,EAAE,WAAW,IAAI,IAAI;AAChC,QAAA,SAAS,EAAE,IAAiB;QAC5B,qBAAqB,EAAE,CAAC,CAAC,gBAAgB;AAC1C,KAAA,CAAC;IAEF,OAAO;AACL,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE;QAClD,QAAQ;KACT;AACH;;;;"}
@@ -1,9 +0,0 @@
1
- import { NextResponse } from 'next/server';
2
- import type { OnCallbackContext, SessionData } from '@auth0/nextjs-auth0/types';
3
- import type { SdkError } from '@auth0/nextjs-auth0/errors';
4
- import { Auth0Config } from 'src/types';
5
- export declare const onCallbackFactory: ({ auth0Config, appBaseUrl, onError, }: {
6
- auth0Config: Auth0Config;
7
- appBaseUrl: string;
8
- onError?: (error: Error) => void;
9
- }) => (error: SdkError | null, context: OnCallbackContext, session: SessionData | null) => Promise<NextResponse>;
@@ -1,91 +0,0 @@
1
- import { NextResponse } from 'next/server';
2
- import { cookies } from 'next/headers';
3
- import { decodeJwt } from 'jose';
4
-
5
- const getLocaleFromContext = ({ returnTo }) => {
6
- if (!returnTo) {
7
- return '';
8
- }
9
- try {
10
- const url = new URL(returnTo);
11
- return url.searchParams.get('locale') || url.pathname.split('/')[1];
12
- }
13
- catch (parsingError) {
14
- // eslint-disable-next-line no-console
15
- console.warn('[Auth-package] Failed to parse locale from returnTo', parsingError);
16
- }
17
- return '';
18
- };
19
- const incompleteTokenErrorCode = 'ERR_INCOMPLETE_TOKEN';
20
- const handleAuth0Error = ({ error, auth0Config, appBaseUrl, localeFromUrl, onError, }) => {
21
- const authorizedLocales = auth0Config.languageConfig.supported;
22
- const locale = authorizedLocales.includes(localeFromUrl)
23
- ? localeFromUrl
24
- : auth0Config.languageConfig.default;
25
- const expectedErrors = [
26
- 'UNVERIFIED_EMAIL',
27
- 'INITIAL_UNVERIFIED_EMAIL',
28
- incompleteTokenErrorCode,
29
- ];
30
- const matchedErrorCode = (error.message ?? '').match(/\(([^)(]+)\)/);
31
- const extractedErrorCode = matchedErrorCode ? matchedErrorCode[1] : '';
32
- if (extractedErrorCode === incompleteTokenErrorCode) {
33
- // eslint-disable-next-line no-console
34
- console.info('[Auth-package] logging out user CAUSE: ERR_INCOMPLETE_TOKEN');
35
- return NextResponse.redirect(new URL(auth0Config.logoutEndpoint, appBaseUrl));
36
- }
37
- if (!expectedErrors.includes(extractedErrorCode)) {
38
- onError?.(error);
39
- // eslint-disable-next-line no-console
40
- console.error('[Auth-package] error', error);
41
- }
42
- const errorCodeQuery = extractedErrorCode
43
- ? `?code=${extractedErrorCode}`
44
- : '';
45
- return NextResponse.redirect(new URL(`/${locale}${auth0Config.globalAuthErrorPath}${errorCodeQuery}`, appBaseUrl));
46
- };
47
- const onCallbackFactory = ({ auth0Config, appBaseUrl, onError, }) => async (error, context, session) => {
48
- if (error) {
49
- const localeFromUrl = getLocaleFromContext(context);
50
- return handleAuth0Error({
51
- error,
52
- auth0Config,
53
- appBaseUrl,
54
- localeFromUrl,
55
- onError,
56
- });
57
- }
58
- if (!session?.tokenSet?.accessToken) {
59
- return NextResponse.redirect(new URL(context.returnTo || '/', appBaseUrl));
60
- }
61
- const cookieStore = await cookies();
62
- let selectedSellerId = cookieStore.get(auth0Config.selectedSellerIdCookie.name)?.value ?? null;
63
- const decodedToken = session.tokenSet.accessToken
64
- ? decodeJwt(session.tokenSet.accessToken)
65
- : null;
66
- const availableSellerIds = decodedToken?.sellerIds ?? null;
67
- if (availableSellerIds &&
68
- selectedSellerId &&
69
- Array.isArray(availableSellerIds) &&
70
- availableSellerIds.length > 0 &&
71
- !availableSellerIds.includes(selectedSellerId)) {
72
- // for the edge case where the selected seller id is not in the list of available seller ids
73
- // force update the cookie to the first available seller id
74
- // they may happen when a user uses multiple accounts with different seller ids
75
- selectedSellerId = availableSellerIds[0].toString();
76
- }
77
- const response = NextResponse.redirect(new URL(context.returnTo || '/', appBaseUrl));
78
- if (selectedSellerId) {
79
- response.cookies.set(auth0Config.selectedSellerIdCookie.name, selectedSellerId, auth0Config.selectedSellerIdCookie);
80
- }
81
- const impersonatedSellerId = decodedToken?.isImpersonated
82
- ? decodedToken.sellerIds[0]
83
- : null;
84
- if (impersonatedSellerId) {
85
- response.cookies.set(auth0Config.impersonatedSellerIdCookie.name, impersonatedSellerId, auth0Config.impersonatedSellerIdCookie);
86
- }
87
- return response;
88
- };
89
-
90
- export { onCallbackFactory };
91
- //# sourceMappingURL=onCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onCallback.js","sources":["../../../../../src/server/hooks/onCallback.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AASA,MAAM,oBAAoB,GAAG,CAAC,EAAE,QAAQ,EAAqB,KAAI;IAC/D,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,IAAI;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC;QAC7B,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE;IAAE,OAAO,YAAY,EAAE;;AAErB,QAAA,OAAO,CAAC,IAAI,CACV,qDAAqD,EACrD,YAAY,CACb;IACH;AAEA,IAAA,OAAO,EAAE;AACX,CAAC;AAED,MAAM,wBAAwB,GAAG,sBAA+B;AAEhE,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,OAAO,GAOR,KAAkB;AACjB,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS;AAC9D,IAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,aAAyB;AACjE,UAAG;AACH,UAAE,WAAW,CAAC,cAAc,CAAC,OAAO;AAEtC,IAAA,MAAM,cAAc,GAAG;QACrB,kBAAkB;QAClB,0BAA0B;QAC1B,wBAAwB;KACzB;AACD,IAAA,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC;AACpE,IAAA,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE;AAEtE,IAAA,IAAI,kBAAkB,KAAK,wBAAwB,EAAE;;AAEnD,QAAA,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC;AAE3E,QAAA,OAAO,YAAY,CAAC,QAAQ,CAC1B,IAAI,GAAG,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAChD;IACH;IAEA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;AAChD,QAAA,OAAO,GAAG,KAAK,CAAC;;AAEhB,QAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC;IAC9C;IAEA,MAAM,cAAc,GAAG;UACnB,CAAA,MAAA,EAAS,kBAAkB,CAAA;UAC3B,EAAE;IAEN,OAAO,YAAY,CAAC,QAAQ,CAC1B,IAAI,GAAG,CACL,IAAI,MAAM,CAAA,EAAG,WAAW,CAAC,mBAAmB,GAAG,cAAc,CAAA,CAAE,EAC/D,UAAU,CACX,CACF;AACH,CAAC;MAEY,iBAAiB,GAC5B,CAAC,EACC,WAAW,EACX,UAAU,EACV,OAAO,GAKR,KACD,OACE,KAAsB,EACtB,OAA0B,EAC1B,OAA2B,KACF;IACzB,IAAI,KAAK,EAAE;AACT,QAAA,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC;AACnD,QAAA,OAAO,gBAAgB,CAAC;YACtB,KAAK;YACL,WAAW;YACX,UAAU;YACV,aAAa;YACb,OAAO;AACR,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE;AACnC,QAAA,OAAO,YAAY,CAAC,QAAQ,CAC1B,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,UAAU,CAAC,CAC7C;IACH;AAEA,IAAA,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE;AACnC,IAAA,IAAI,gBAAgB,GAClB,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI;AAEzE,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;UAClC,SAAS,CAAkB,OAAO,CAAC,QAAQ,CAAC,WAAW;UACvD,IAAI;AACR,IAAA,MAAM,kBAAkB,GAAG,YAAY,EAAE,SAAS,IAAI,IAAI;AAE1D,IAAA,IACE,kBAAkB;QAClB,gBAAgB;AAChB,QAAA,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACjC,kBAAkB,CAAC,MAAM,GAAG,CAAC;AAC7B,QAAA,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAC9C;;;;QAIA,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD;AAEA,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CACpC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,UAAU,CAAC,CAC7C;IAED,IAAI,gBAAgB,EAAE;AACpB,QAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,WAAW,CAAC,sBAAsB,CAAC,IAAI,EACvC,gBAAgB,EAChB,WAAW,CAAC,sBAAsB,CACnC;IACH;AAEA,IAAA,MAAM,oBAAoB,GAAG,YAAY,EAAE;AACzC,UAAE,YAAY,CAAC,SAAS,CAAC,CAAC;UACxB,IAAI;IAER,IAAI,oBAAoB,EAAE;AACxB,QAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,WAAW,CAAC,0BAA0B,CAAC,IAAI,EAC3C,oBAAoB,EACpB,WAAW,CAAC,0BAA0B,CACvC;IACH;AAEA,IAAA,OAAO,QAAQ;AACjB;;;;"}
@@ -1,8 +0,0 @@
1
- var Brand;
2
- (function (Brand) {
3
- Brand["AutoScout24"] = "autoscout24";
4
- Brand["MotoScout24"] = "motoscout24";
5
- })(Brand || (Brand = {}));
6
-
7
- export { Brand };
8
- //# sourceMappingURL=brand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"brand.js","sources":["../../../../src/types/brand.ts"],"sourcesContent":[null],"names":[],"mappings":"IAAY;AAAZ,CAAA,UAAY,KAAK,EAAA;AACf,IAAA,KAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC3B,IAAA,KAAA,CAAA,aAAA,CAAA,GAAA,aAA2B;AAC7B,CAAC,EAHW,KAAK,KAAL,KAAK,GAAA,EAAA,CAAA,CAAA;;;;"}