@smg-automotive/auth 6.8.0-auth0-update-handle-auth0-errors.1 → 6.8.0-auth0-update-root.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 (64) hide show
  1. package/dist/cjs/server/getAuth0Instance.d.ts +1 -3
  2. package/dist/cjs/server.js +1 -5
  3. package/dist/cjs/server.js.map +1 -1
  4. package/dist/esm/server/getAuth0Instance.d.ts +1 -3
  5. package/dist/esm/server.js +1 -1
  6. package/dist/esm/server.js.map +1 -1
  7. package/dist/server.d.ts +1 -13
  8. package/package.json +1 -1
  9. package/dist/cjs/api/baseUrl.js +0 -10
  10. package/dist/cjs/api/baseUrl.js.map +0 -1
  11. package/dist/cjs/api/seller/client.js +0 -14
  12. package/dist/cjs/api/seller/client.js.map +0 -1
  13. package/dist/cjs/api/seller/getSeller.js +0 -21
  14. package/dist/cjs/api/seller/getSeller.js.map +0 -1
  15. package/dist/cjs/config/auth0.js +0 -107
  16. package/dist/cjs/config/auth0.js.map +0 -1
  17. package/dist/cjs/lib/authLinks.d.ts +0 -12
  18. package/dist/cjs/lib/authLinks.js +0 -16
  19. package/dist/cjs/lib/authLinks.js.map +0 -1
  20. package/dist/cjs/lib/enrichUser/auth0.d.ts +0 -6
  21. package/dist/cjs/lib/enrichUser/auth0.js +0 -39
  22. package/dist/cjs/lib/enrichUser/auth0.js.map +0 -1
  23. package/dist/cjs/lib/utils.js +0 -18
  24. package/dist/cjs/lib/utils.js.map +0 -1
  25. package/dist/cjs/server/getAuth0Instance.js +0 -44
  26. package/dist/cjs/server/getAuth0Instance.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/server/middleware.d.ts +0 -11
  34. package/dist/cjs/server/middleware.js +0 -74
  35. package/dist/cjs/server/middleware.js.map +0 -1
  36. package/dist/cjs/server.d.ts +0 -1
  37. package/dist/esm/api/baseUrl.js +0 -8
  38. package/dist/esm/api/baseUrl.js.map +0 -1
  39. package/dist/esm/api/seller/client.js +0 -12
  40. package/dist/esm/api/seller/client.js.map +0 -1
  41. package/dist/esm/api/seller/getSeller.js +0 -19
  42. package/dist/esm/api/seller/getSeller.js.map +0 -1
  43. package/dist/esm/config/auth0.js +0 -105
  44. package/dist/esm/config/auth0.js.map +0 -1
  45. package/dist/esm/lib/authLinks.d.ts +0 -12
  46. package/dist/esm/lib/authLinks.js +0 -14
  47. package/dist/esm/lib/authLinks.js.map +0 -1
  48. package/dist/esm/lib/enrichUser/auth0.d.ts +0 -6
  49. package/dist/esm/lib/enrichUser/auth0.js +0 -37
  50. package/dist/esm/lib/enrichUser/auth0.js.map +0 -1
  51. package/dist/esm/lib/utils.js +0 -15
  52. package/dist/esm/lib/utils.js.map +0 -1
  53. package/dist/esm/server/getAuth0Instance.js +0 -42
  54. package/dist/esm/server/getAuth0Instance.js.map +0 -1
  55. package/dist/esm/server/hooks/beforeSessionSaved.d.ts +0 -3
  56. package/dist/esm/server/hooks/beforeSessionSaved.js +0 -20
  57. package/dist/esm/server/hooks/beforeSessionSaved.js.map +0 -1
  58. package/dist/esm/server/hooks/onCallback.d.ts +0 -9
  59. package/dist/esm/server/hooks/onCallback.js +0 -91
  60. package/dist/esm/server/hooks/onCallback.js.map +0 -1
  61. package/dist/esm/server/middleware.d.ts +0 -11
  62. package/dist/esm/server/middleware.js +0 -72
  63. package/dist/esm/server/middleware.js.map +0 -1
  64. package/dist/esm/server.d.ts +0 -1
@@ -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,8 +1,4 @@
1
+ "use strict";
1
2
  'use strict';
2
3
 
3
- var middleware = require('./server/middleware.js');
4
-
5
-
6
-
7
- exports.authMiddleware = middleware.authMiddleware;
8
4
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -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,2 +1,2 @@
1
- export { authMiddleware } from './server/middleware.js';
1
+ "use strict";
2
2
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/server.d.ts CHANGED
@@ -1,14 +1,2 @@
1
- import { NextRequest, NextResponse } from 'next/server';
2
- import { Language } from '@smg-automotive/i18n-pkg';
3
1
 
4
- declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }: {
5
- request: NextRequest;
6
- isProtectedRoute: (path: string) => boolean;
7
- language: Language;
8
- host: string;
9
- protocol: string;
10
- isProxied: boolean;
11
- onError?: (error: Error) => void;
12
- }) => Promise<NextResponse>;
13
-
14
- export { authMiddleware };
2
+ export { };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smg-automotive/auth",
3
- "version": "6.8.0-auth0-update-handle-auth0-errors.1",
3
+ "version": "6.8.0-auth0-update-root.1",
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,107 +0,0 @@
1
- 'use strict';
2
-
3
- var utils = require('../lib/utils.js');
4
-
5
- const isDevelopmentEnvironment = process.env.CONFIG_ENV === 'development';
6
- const proxyPathSegment = utils.ensureString(process.env.PROXY_REQUEST_PATH_SEGMENT);
7
- const legacyAccessTokenName = utils.ensureString(process.env.AUTH0_CUSTOM_LEGACY_ACCESS_TOKEN_NAME);
8
- const legacyRefreshTokenName = utils.ensureString(process.env.AUTH0_CUSTOM_LEGACY_REFRESH_TOKEN_NAME);
9
- const defaultLocale = utils.ensureString(process.env.DEFAULT_LOCALE);
10
- const supportedLocales = utils.ensureString(process.env.SUPPORTED_LOCALES)
11
- .split(',')
12
- .filter(Boolean);
13
- const sessionCookieName = utils.ensureString(process.env.AUTH0_SESSION_NAME);
14
- const audience = utils.ensureString(process.env.AUTH0_AUDIENCE);
15
- const authCookieNames = utils.ensureString(process.env.AUTH0_CUSTOM_AUTH_COOKIE_NAMES)
16
- .split(',')
17
- .filter(Boolean);
18
- if (!defaultLocale) {
19
- throw new Error('[Auth-package] DEFAULT_LOCALE is not set');
20
- }
21
- if (supportedLocales.length === 0) {
22
- throw new Error('[Auth-package] SUPPORTED_LOCALES is not set');
23
- }
24
- const auth0Config = {
25
- // Endpoint where the user gets redirected to auth0 universal login
26
- loginEndpoint: '/api/auth/login',
27
- // Endpoint where the user gets redirected to auth0 universal logout
28
- logoutEndpoint: '/api/auth/logout',
29
- // Endpoint to fetch and refresh token
30
- // TODO: this is used client side and only configurable via env variable
31
- tokenEndpoint: '/auth/token',
32
- // Endpoint to fetch and refresh token
33
- callbackEndpoint: '/api/auth/callback',
34
- // Endpoint to fetch user profile
35
- // TODO: this is used client side and only configurable via env variable
36
- userProfileEndpoint: '/auth/profile',
37
- // Interval delay to check if the token needs to be refreshed
38
- intervalDelayInMs: 10000,
39
- // If the token is valid for less than the specified time to app will rotate the token
40
- refreshThresholdInMs: 300000,
41
- // Segment to prefix on request when run in environments with a reverse proxy
42
- proxyPathSegment: '',
43
- // Legacy access token name
44
- legacyAccessTokenName: '',
45
- // Legacy refresh token name
46
- legacyRefreshTokenName: '',
47
- // Interval in MS to call function that checks if the token needs to be refreshed
48
- providerInterval: 10000,
49
- // Debug flag to force a token refresh on every interval
50
- debugForceTokenRefresh: false,
51
- // Language configuration
52
- languageConfig: {
53
- default: defaultLocale,
54
- supported: supportedLocales,
55
- },
56
- // A domain wide cross project cookie storing the sellerId the user want's to act as in the system
57
- // Used for Multi-tenant accounts capable of multiple sellers
58
- selectedSellerIdCookie: {
59
- name: 'selectedSellerId',
60
- httpOnly: true,
61
- maxAge: 30 * 24 * 60 * 60,
62
- secure: true,
63
- sameSite: 'lax',
64
- path: '/',
65
- },
66
- // A domain wide cross project cookie storing impersonated sellerId
67
- // Marks a restricted back-office functionality
68
- impersonatedSellerIdCookie: {
69
- name: 'impersonatedSellerId',
70
- httpOnly: true,
71
- maxAge: 1 * 60 * 60,
72
- secure: true,
73
- sameSite: 'lax',
74
- path: '/',
75
- },
76
- // Auth scopes
77
- scopes: 'openid email offline_access webapp.autoscout24.ch',
78
- // Global path to redirect to for auth errors must only be implemented by one project and exposed trough the proxy
79
- globalAuthErrorPath: '/errors/auth',
80
- // List of auth related cookies to be cleared on logout
81
- authCookieNames,
82
- // Name of the session cookie
83
- sessionCookieName,
84
- // Audience of the auth0 application
85
- audience,
86
- };
87
- const getAuth0Config = ({ isProxied, }) => {
88
- const runtimeConfig = { ...auth0Config };
89
- runtimeConfig.proxyPathSegment = utils.ensureSlash(proxyPathSegment);
90
- runtimeConfig.legacyAccessTokenName = legacyAccessTokenName;
91
- runtimeConfig.legacyRefreshTokenName = legacyRefreshTokenName;
92
- runtimeConfig.selectedSellerIdCookie.secure = !isDevelopmentEnvironment;
93
- if (!isProxied) {
94
- return runtimeConfig;
95
- }
96
- return {
97
- ...runtimeConfig,
98
- loginEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.loginEndpoint}`,
99
- logoutEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.logoutEndpoint}`,
100
- tokenEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.tokenEndpoint}`,
101
- userProfileEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.userProfileEndpoint}`,
102
- callbackEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.callbackEndpoint}`,
103
- };
104
- };
105
-
106
- exports.getAuth0Config = getAuth0Config;
107
- //# sourceMappingURL=auth0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":["ensureString","ensureSlash"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { Language } from '@smg-automotive/i18n-pkg';
2
- import { Auth0Config } from 'src/types';
3
- export declare const getLogoutLink: ({ returnTo, language, auth0Config, }: {
4
- returnTo?: string;
5
- language?: Language;
6
- auth0Config: Auth0Config | null;
7
- }) => string;
8
- export declare const getLoginLink: ({ returnTo, language, auth0Config, }: {
9
- returnTo?: string;
10
- language?: Language;
11
- auth0Config: Auth0Config | null;
12
- }) => string;
@@ -1,16 +0,0 @@
1
- 'use strict';
2
-
3
- var i18nPkg = require('@smg-automotive/i18n-pkg');
4
-
5
- const getLoginLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Config, }) => {
6
- if (!auth0Config) {
7
- throw new Error('Missing auth0Config');
8
- }
9
- const encodedReturnTo = returnTo
10
- ? `&returnTo=${encodeURIComponent(returnTo)}`
11
- : '';
12
- return `${auth0Config.loginEndpoint}?locale=${language}${encodedReturnTo}`;
13
- };
14
-
15
- exports.getLoginLink = getLoginLink;
16
- //# sourceMappingURL=authLinks.js.map
@@ -1 +0,0 @@
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;;;;"}
@@ -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,18 +0,0 @@
1
- 'use strict';
2
-
3
- const ensureString = (value) => {
4
- if (typeof value !== 'string') {
5
- return '';
6
- }
7
- return value;
8
- };
9
- const ensureSlash = (path) => {
10
- if (path.startsWith('/')) {
11
- return path;
12
- }
13
- return `/${path}`;
14
- };
15
-
16
- exports.ensureSlash = ensureSlash;
17
- exports.ensureString = ensureString;
18
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/lib/utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAO,MAAM,YAAY,GAAG,CAAC,KAAyB,KAAI;AACxD,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,OAAO,KAAK;AACd;AAEO,MAAM,WAAW,GAAG,CAAC,IAAY,KAAI;AAC1C,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACxB,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;AACnB;;;;;"}
@@ -1,44 +0,0 @@
1
- 'use strict';
2
-
3
- var server = require('@auth0/nextjs-auth0/server');
4
- var auth0 = require('../config/auth0.js');
5
- var onCallback = require('./hooks/onCallback.js');
6
- var beforeSessionSaved = require('./hooks/beforeSessionSaved.js');
7
-
8
- const instances = {};
9
- const buildInstanceKey = ({ host, isProxied, protocol, }) => {
10
- return `${protocol}-${host}-isProxied-${isProxied}`;
11
- };
12
- const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
13
- const key = buildInstanceKey({ host, isProxied, protocol });
14
- const instance = instances[key];
15
- if (instance) {
16
- return instance;
17
- }
18
- const auth0Config = auth0.getAuth0Config({ isProxied });
19
- const appBaseUrl = `${protocol}://${host}`;
20
- const newInstance = new server.Auth0Client({
21
- appBaseUrl,
22
- routes: {
23
- login: auth0Config.loginEndpoint,
24
- logout: auth0Config.logoutEndpoint,
25
- callback: auth0Config.callbackEndpoint,
26
- },
27
- session: {
28
- cookie: {
29
- name: auth0Config.sessionCookieName,
30
- },
31
- },
32
- authorizationParameters: {
33
- scope: auth0Config.scopes,
34
- audience: auth0Config.audience,
35
- },
36
- beforeSessionSaved: beforeSessionSaved.beforeSessionSavedFactory(auth0Config),
37
- onCallback: onCallback.onCallbackFactory({ auth0Config, appBaseUrl, onError }),
38
- });
39
- instances[key] = newInstance;
40
- return newInstance;
41
- };
42
-
43
- exports.getAuth0Instance = getAuth0Instance;
44
- //# sourceMappingURL=getAuth0Instance.js.map
@@ -1 +0,0 @@
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,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,11 +0,0 @@
1
- import { NextRequest, NextResponse } from 'next/server';
2
- import { Language } from '@smg-automotive/i18n-pkg';
3
- export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }: {
4
- request: NextRequest;
5
- isProtectedRoute: (path: string) => boolean;
6
- language: Language;
7
- host: string;
8
- protocol: string;
9
- isProxied: boolean;
10
- onError?: (error: Error) => void;
11
- }) => Promise<NextResponse>;
@@ -1,74 +0,0 @@
1
- 'use strict';
2
-
3
- var server = require('next/server');
4
- var authLinks = require('../lib/authLinks.js');
5
- var auth0 = require('../config/auth0.js');
6
- var getAuth0Instance = require('./getAuth0Instance.js');
7
-
8
- const redirectToLogin = ({ auth0Config, language, returnTo, origin, }) => {
9
- const loginUrl = authLinks.getLoginLink({
10
- auth0Config,
11
- language,
12
- returnTo,
13
- });
14
- return server.NextResponse.redirect(new URL(loginUrl, origin), {
15
- status: 307,
16
- });
17
- };
18
- const isAuthRoute = (pathname, auth0Config) => {
19
- const { loginEndpoint, logoutEndpoint, callbackEndpoint, userProfileEndpoint, tokenEndpoint, } = auth0Config;
20
- return [
21
- loginEndpoint,
22
- logoutEndpoint,
23
- callbackEndpoint,
24
- userProfileEndpoint,
25
- tokenEndpoint,
26
- ].includes(pathname);
27
- };
28
- const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }) => {
29
- const { origin, pathname, search } = request.nextUrl;
30
- const auth0Instance = getAuth0Instance.getAuth0Instance({ host, protocol, isProxied });
31
- const auth0Config = auth0.getAuth0Config({ isProxied });
32
- const isAuthErrorRoute = pathname.endsWith(auth0Config.globalAuthErrorPath);
33
- const authResponse = await auth0Instance.middleware(request);
34
- if (isAuthErrorRoute ||
35
- isAuthRoute(pathname, auth0Config) ||
36
- !isProtectedRoute(pathname)) {
37
- return authResponse;
38
- }
39
- const session = await auth0Instance.getSession(request);
40
- if (!session) {
41
- return redirectToLogin({
42
- auth0Config,
43
- language,
44
- returnTo: `${pathname}${search}`,
45
- origin,
46
- });
47
- }
48
- try {
49
- // TODO: should this use a helper
50
- await auth0Instance.getAccessToken(request, authResponse);
51
- }
52
- catch (error) {
53
- const authError = error;
54
- onError?.(authError);
55
- return redirectToLogin({
56
- auth0Config,
57
- language,
58
- returnTo: `${pathname}${search}`,
59
- origin,
60
- });
61
- }
62
- const responseWithCombinedHeaders = server.NextResponse.next({
63
- request: {
64
- headers: request.headers,
65
- },
66
- });
67
- authResponse.headers.forEach((value, key) => {
68
- responseWithCombinedHeaders.headers.set(key, value);
69
- });
70
- return responseWithCombinedHeaders;
71
- };
72
-
73
- exports.authMiddleware = authMiddleware;
74
- //# sourceMappingURL=middleware.js.map