@smg-automotive/auth 6.8.0-auth0-update-access-token-endpoint.3 → 6.8.0-auth0-update-user-profile-endpoint.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.
- package/dist/cjs/api/entitlements/client.js +14 -0
- package/dist/cjs/api/entitlements/client.js.map +1 -0
- package/dist/cjs/api/entitlements/getEntitlements.js +28 -0
- package/dist/cjs/api/entitlements/getEntitlements.js.map +1 -0
- package/dist/cjs/api/seller/client.d.ts +2 -2
- package/dist/cjs/api/seller/client.js.map +1 -1
- package/dist/cjs/api/seller/getSeller.js +9 -1
- package/dist/cjs/api/seller/getSeller.js.map +1 -1
- package/dist/cjs/api/user/client.js +14 -0
- package/dist/cjs/api/user/client.js.map +1 -0
- package/dist/cjs/api/user/getManagedSellers.js +34 -0
- package/dist/cjs/api/user/getManagedSellers.js.map +1 -0
- package/dist/cjs/config/auth0.js +1 -2
- package/dist/cjs/config/auth0.js.map +1 -1
- package/dist/cjs/lib/enrichUser/session.d.ts +7 -0
- package/dist/cjs/lib/enrichUser/session.js +42 -0
- package/dist/cjs/lib/enrichUser/session.js.map +1 -0
- package/dist/cjs/server/middleware/addCachingHeaders.d.ts +2 -0
- package/dist/cjs/server/middleware/addCachingHeaders.js +10 -0
- package/dist/cjs/server/middleware/addCachingHeaders.js.map +1 -0
- package/dist/cjs/server/middleware/index.d.ts +3 -1
- package/dist/cjs/server/middleware/index.js +11 -1
- package/dist/cjs/server/middleware/index.js.map +1 -1
- package/dist/cjs/server/middleware/profile.d.ts +10 -0
- package/dist/cjs/server/middleware/profile.js +28 -0
- package/dist/cjs/server/middleware/profile.js.map +1 -0
- package/dist/cjs/server/middleware/token.js +2 -3
- package/dist/cjs/server/middleware/token.js.map +1 -1
- package/dist/esm/api/entitlements/client.js +12 -0
- package/dist/esm/api/entitlements/client.js.map +1 -0
- package/dist/esm/api/entitlements/getEntitlements.js +26 -0
- package/dist/esm/api/entitlements/getEntitlements.js.map +1 -0
- package/dist/esm/api/seller/client.d.ts +2 -2
- package/dist/esm/api/seller/client.js.map +1 -1
- package/dist/esm/api/seller/getSeller.js +9 -1
- package/dist/esm/api/seller/getSeller.js.map +1 -1
- package/dist/esm/api/user/client.js +12 -0
- package/dist/esm/api/user/client.js.map +1 -0
- package/dist/esm/api/user/getManagedSellers.js +32 -0
- package/dist/esm/api/user/getManagedSellers.js.map +1 -0
- package/dist/esm/config/auth0.js +1 -2
- package/dist/esm/config/auth0.js.map +1 -1
- package/dist/esm/lib/enrichUser/session.d.ts +7 -0
- package/dist/esm/lib/enrichUser/session.js +40 -0
- package/dist/esm/lib/enrichUser/session.js.map +1 -0
- package/dist/esm/server/middleware/addCachingHeaders.d.ts +2 -0
- package/dist/esm/server/middleware/addCachingHeaders.js +8 -0
- package/dist/esm/server/middleware/addCachingHeaders.js.map +1 -0
- package/dist/esm/server/middleware/index.d.ts +3 -1
- package/dist/esm/server/middleware/index.js +11 -1
- package/dist/esm/server/middleware/index.js.map +1 -1
- package/dist/esm/server/middleware/profile.d.ts +10 -0
- package/dist/esm/server/middleware/profile.js +26 -0
- package/dist/esm/server/middleware/profile.js.map +1 -0
- package/dist/esm/server/middleware/token.js +2 -3
- package/dist/esm/server/middleware/token.js.map +1 -1
- package/dist/server.d.ts +7 -1
- package/package.json +2 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var apiClientPkg = require('@smg-automotive/api-client-pkg');
|
|
4
|
+
var baseUrl = require('../baseUrl.js');
|
|
5
|
+
|
|
6
|
+
const entitlementsClient = apiClientPkg.ApiClient({
|
|
7
|
+
baseUrl: baseUrl.baseUrl,
|
|
8
|
+
headers: {
|
|
9
|
+
'Content-Type': 'application/json',
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
exports.entitlementsClient = entitlementsClient;
|
|
14
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../src/api/entitlements/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAkBO,MAAM,kBAAkB,GAE3BA,sBAAS,CAAkC;aAC7CC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var client = require('./client.js');
|
|
4
|
+
|
|
5
|
+
const getEntitlements = async ({ sellerId, accessToken, }) => {
|
|
6
|
+
const response = await client.entitlementsClient
|
|
7
|
+
.path('/sellers/{sellerId}/entitlements', { sellerId })
|
|
8
|
+
.get({
|
|
9
|
+
options: {
|
|
10
|
+
accessToken,
|
|
11
|
+
cache: 'force-cache',
|
|
12
|
+
next: {
|
|
13
|
+
revalidate: 3600,
|
|
14
|
+
tags: [`entitlements/${sellerId}`],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
if (response.ok) {
|
|
19
|
+
return response.body;
|
|
20
|
+
}
|
|
21
|
+
if (response.status === 404) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
throw new Error(response.statusText);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.getEntitlements = getEntitlements;
|
|
28
|
+
//# sourceMappingURL=getEntitlements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEntitlements.js","sources":["../../../../../src/api/entitlements/getEntitlements.ts"],"sourcesContent":[null],"names":["entitlementsClient"],"mappings":";;;;AAEO,MAAM,eAAe,GAAG,OAAO,EACpC,QAAQ,EACR,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAMA;AACpB,SAAA,IAAI,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE;AACrD,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,aAAA,EAAgB,QAAQ,EAAE,CAAC;AACnC,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,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,8 +1,8 @@
|
|
|
1
|
-
import { ApiClient, ClientConfiguration, ResponseType } from '@smg-automotive/api-client-pkg';
|
|
1
|
+
import { ApiClient, ClientConfiguration, RequestType, ResponseType } from '@smg-automotive/api-client-pkg';
|
|
2
2
|
import { Seller } from './types';
|
|
3
3
|
interface SellerClientConfiguration extends ClientConfiguration {
|
|
4
4
|
'sellers/{sellerId}': {
|
|
5
|
-
get: () => ResponseType<never, Seller>;
|
|
5
|
+
get: (data?: RequestType<never, never>) => ResponseType<never, Seller>;
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
8
|
export declare const sellerClient: ReturnType<typeof ApiClient<SellerClientConfiguration>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAgBO,MAAM,YAAY,GAErBA,sBAAS,CAA4B;aACvCC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
|
|
@@ -7,7 +7,15 @@ const getSeller = async ({ sellerId }) => {
|
|
|
7
7
|
.path('sellers/{sellerId}', {
|
|
8
8
|
sellerId,
|
|
9
9
|
})
|
|
10
|
-
.get(
|
|
10
|
+
.get({
|
|
11
|
+
options: {
|
|
12
|
+
cache: 'force-cache',
|
|
13
|
+
next: {
|
|
14
|
+
revalidate: 3600,
|
|
15
|
+
tags: [`seller/${sellerId}`],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
});
|
|
11
19
|
if (response.ok) {
|
|
12
20
|
return response.body;
|
|
13
21
|
}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,CAAC;AACH,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,OAAA,EAAU,QAAQ,EAAE,CAAC;AAC7B,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,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;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var apiClientPkg = require('@smg-automotive/api-client-pkg');
|
|
4
|
+
var baseUrl = require('../baseUrl.js');
|
|
5
|
+
|
|
6
|
+
const userClient = apiClientPkg.ApiClient({
|
|
7
|
+
baseUrl: baseUrl.baseUrl,
|
|
8
|
+
headers: {
|
|
9
|
+
'Content-Type': 'application/json',
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
exports.userClient = userClient;
|
|
14
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../src/api/user/client.ts"],"sourcesContent":[null],"names":["ApiClient","baseUrl"],"mappings":";;;;;AAwBO,MAAM,UAAU,GACrBA,sBAAS,CAA0B;aACjCC,eAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var client = require('./client.js');
|
|
4
|
+
|
|
5
|
+
const getManagedSellers = async ({ userId, accessToken, }) => {
|
|
6
|
+
const response = await client.userClient
|
|
7
|
+
.path('users/{userId}/sellers', {
|
|
8
|
+
userId,
|
|
9
|
+
})
|
|
10
|
+
.get({
|
|
11
|
+
options: {
|
|
12
|
+
accessToken,
|
|
13
|
+
cache: 'force-cache',
|
|
14
|
+
next: {
|
|
15
|
+
revalidate: 3600,
|
|
16
|
+
tags: [`managed-sellers/${userId}`],
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
searchParams: {
|
|
20
|
+
page: 0,
|
|
21
|
+
size: 300,
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
if (response.ok) {
|
|
25
|
+
return response.body;
|
|
26
|
+
}
|
|
27
|
+
if (response.status === 404) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
throw new Error(response.statusText);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.getManagedSellers = getManagedSellers;
|
|
34
|
+
//# sourceMappingURL=getManagedSellers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getManagedSellers.js","sources":["../../../../../src/api/user/getManagedSellers.ts"],"sourcesContent":[null],"names":["userClient"],"mappings":";;;;AAEO,MAAM,iBAAiB,GAAG,OAAO,EACtC,MAAM,EACN,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAMA;SACpB,IAAI,CAAC,wBAAwB,EAAE;QAC9B,MAAM;KACP;AACA,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,gBAAA,EAAmB,MAAM,EAAE,CAAC;AACpC,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,GAAG;AACV,SAAA;AACF,KAAA,CAAC;AAEJ,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;;;;"}
|
package/dist/cjs/config/auth0.js
CHANGED
|
@@ -31,8 +31,7 @@ const auth0Config = {
|
|
|
31
31
|
// Endpoint to fetch and refresh token
|
|
32
32
|
callbackEndpoint: '/api/auth/callback',
|
|
33
33
|
// Endpoint to fetch user profile
|
|
34
|
-
|
|
35
|
-
userProfileEndpoint: '/auth/profile',
|
|
34
|
+
userProfileEndpoint: '/api/auth/profile',
|
|
36
35
|
// Interval delay to check if the token needs to be refreshed
|
|
37
36
|
intervalDelayInMs: 10000,
|
|
38
37
|
// If the token is valid for less than the specified time to app will rotate the token
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":["ensureString","ensureSlash"],"mappings":";;;;AAKA,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,aAAa;AACzE,MAAM,gBAAgB,GAAGA,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAE7E,MAAM,qBAAqB,GAAGA,kBAAY,CACxC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAClD;AACD,MAAM,sBAAsB,GAAGA,kBAAY,CACzC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CACnD;AAED,MAAM,aAAa,GAAGA,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAa;AAC1E,MAAM,gBAAgB,GAAGA,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB;KAChE,KAAK,CAAC,GAAG;KACT,MAAM,CAAC,OAAO,CAAe;AAEhC,MAAM,iBAAiB,GAAGA,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACtE,MAAM,QAAQ,GAAGA,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAEzD,MAAM,eAAe,GAAGA,kBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B;KAC5E,KAAK,CAAC,GAAG;KACT,MAAM,CAAC,OAAO,CAAC;AAElB,IAAI,CAAC,aAAa,EAAE;AAClB,IAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;AAC7D;AAEA,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,IAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC;AAChE;AAEA,MAAM,WAAW,GAAgB;;AAE/B,IAAA,aAAa,EAAE,iBAAiB;;AAEhC,IAAA,cAAc,EAAE,kBAAkB;;AAElC,IAAA,aAAa,EAAE,wBAAwB;;AAEvC,IAAA,gBAAgB,EAAE,oBAAoB
|
|
1
|
+
{"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":["ensureString","ensureSlash"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Brand } from 'src/types/brand';
|
|
2
|
+
import { EnrichedSessionUser, SessionUser } from 'src/types';
|
|
3
|
+
export declare const enrichUser: ({ user, accessToken, brand, }: {
|
|
4
|
+
user: SessionUser;
|
|
5
|
+
accessToken: string;
|
|
6
|
+
brand: Brand;
|
|
7
|
+
}) => Promise<EnrichedSessionUser>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var getManagedSellers = require('../../api/user/getManagedSellers.js');
|
|
4
|
+
require('../../api/user/client.js');
|
|
5
|
+
var getEntitlements = require('../../api/entitlements/getEntitlements.js');
|
|
6
|
+
require('../../api/entitlements/client.js');
|
|
7
|
+
|
|
8
|
+
const enrichUser = async ({ user, accessToken, brand, }) => {
|
|
9
|
+
const managedSellersResponse = user.isMultiTenantUser
|
|
10
|
+
? await getManagedSellers.getManagedSellers({
|
|
11
|
+
userId: user.userId,
|
|
12
|
+
accessToken,
|
|
13
|
+
})
|
|
14
|
+
: null;
|
|
15
|
+
const { content: managedSellers } = managedSellersResponse
|
|
16
|
+
? managedSellersResponse
|
|
17
|
+
: { content: [] };
|
|
18
|
+
const sortedManagedSellers = managedSellers.sort((a, b) => {
|
|
19
|
+
return (a.billingName || '').localeCompare(b.billingName || '');
|
|
20
|
+
});
|
|
21
|
+
// We can not load entitlements without a selected sellerId
|
|
22
|
+
if (user.forceTenantSelection) {
|
|
23
|
+
return Object.assign(user, {
|
|
24
|
+
managedSellers: sortedManagedSellers,
|
|
25
|
+
entitlements: null,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const fullEntitlements = await getEntitlements.getEntitlements({
|
|
29
|
+
sellerId: parseInt(user.sellerId, 10),
|
|
30
|
+
accessToken,
|
|
31
|
+
});
|
|
32
|
+
const entitlements = fullEntitlements && fullEntitlements[brand]
|
|
33
|
+
? fullEntitlements[brand]
|
|
34
|
+
: null;
|
|
35
|
+
return Object.assign(user, {
|
|
36
|
+
managedSellers: sortedManagedSellers,
|
|
37
|
+
entitlements,
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.enrichUser = enrichUser;
|
|
42
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sources":["../../../../../src/lib/enrichUser/session.ts"],"sourcesContent":[null],"names":["getManagedSellers","getEntitlements"],"mappings":";;;;;;;AAKO,MAAM,UAAU,GAAG,OAAO,EAC/B,IAAI,EACJ,WAAW,EACX,KAAK,GAKN,KAAkC;AACjC,IAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC;UAChC,MAAMA,mCAAiB,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ;UACD,IAAI;AACR,IAAA,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG;AAClC,UAAE;AACF,UAAE,EAAE,OAAO,EAAE,EAA0B,EAAE;IAC3C,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACxD,QAAA,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;AACjE,IAAA,CAAC,CAAC;;AAGF,IAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,YAAA,cAAc,EAAE,oBAAoB;AACpC,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,gBAAgB,GAAG,MAAMC,+BAAe,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrC,WAAW;AACZ,KAAA,CAAC;AACF,IAAA,MAAM,YAAY,GAChB,gBAAgB,IAAI,gBAAgB,CAAC,KAAK;AACxC,UAAE,gBAAgB,CAAC,KAAK;UACtB,IAAI;AAEV,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,QAAA,cAAc,EAAE,oBAAoB;QACpC,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const addCachingHeaders = (response) => {
|
|
4
|
+
response.headers.set('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
|
|
5
|
+
response.headers.set('Pragma', 'no-cache');
|
|
6
|
+
response.headers.set('Expires', '0');
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
exports.addCachingHeaders = addCachingHeaders;
|
|
10
|
+
//# sourceMappingURL=addCachingHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addCachingHeaders.js","sources":["../../../../../src/server/middleware/addCachingHeaders.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,GAAG,CAAC,QAAsB,KAAI;IAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,eAAe,EACf,yDAAyD,CAC1D;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACtC;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { Language } from '@smg-automotive/i18n-pkg';
|
|
3
|
-
|
|
3
|
+
import { Brand } from 'src/types/brand';
|
|
4
|
+
export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }: {
|
|
4
5
|
request: NextRequest;
|
|
5
6
|
isProtectedRoute: (path: string) => boolean;
|
|
6
7
|
language: Language;
|
|
@@ -8,4 +9,5 @@ export declare const authMiddleware: ({ request, isProtectedRoute, language, hos
|
|
|
8
9
|
protocol: string;
|
|
9
10
|
isProxied: boolean;
|
|
10
11
|
onError?: (error: Error) => void;
|
|
12
|
+
brand: Brand;
|
|
11
13
|
}) => Promise<NextResponse>;
|
|
@@ -5,6 +5,7 @@ var auth0 = require('../../config/auth0.js');
|
|
|
5
5
|
var getAuth0Instance = require('../getAuth0Instance.js');
|
|
6
6
|
var token = require('./token.js');
|
|
7
7
|
var protectRoute = require('./protectRoute.js');
|
|
8
|
+
var profile = require('./profile.js');
|
|
8
9
|
var logout = require('./logout.js');
|
|
9
10
|
var login = require('./login.js');
|
|
10
11
|
var combineHeaders = require('./combineHeaders.js');
|
|
@@ -19,7 +20,7 @@ const isAuthRoute = (pathname, auth0Config) => {
|
|
|
19
20
|
tokenEndpoint,
|
|
20
21
|
].includes(pathname);
|
|
21
22
|
};
|
|
22
|
-
const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }) => {
|
|
23
|
+
const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }) => {
|
|
23
24
|
const { pathname } = request.nextUrl;
|
|
24
25
|
const auth0Instance = getAuth0Instance.getAuth0Instance({ host, protocol, isProxied });
|
|
25
26
|
const auth0Config = auth0.getAuth0Config({ isProxied });
|
|
@@ -61,6 +62,15 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
|
|
|
61
62
|
if (switchSelectedSellerIdResult) {
|
|
62
63
|
return switchSelectedSellerIdResult;
|
|
63
64
|
}
|
|
65
|
+
const handleUserProfileResult = await profile.handleUserProfile({
|
|
66
|
+
request,
|
|
67
|
+
auth0Instance,
|
|
68
|
+
auth0Config,
|
|
69
|
+
brand,
|
|
70
|
+
});
|
|
71
|
+
if (handleUserProfileResult) {
|
|
72
|
+
return handleUserProfileResult;
|
|
73
|
+
}
|
|
64
74
|
if (isAuthRoute(pathname, auth0Config) || isAuthErrorRoute) {
|
|
65
75
|
return authResponse;
|
|
66
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParamsFromCookies","deleteRelatedSessionCookies","handleAccessTokenRequest","protectRoute","combineHeaders","NextResponse"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParamsFromCookies","deleteRelatedSessionCookies","handleAccessTokenRequest","handleUserProfile","protectRoute","combineHeaders","NextResponse"],"mappings":";;;;;;;;;;;;AAeA,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;AAEM,MAAM,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,GAUN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;AACpC,IAAA,MAAM,aAAa,GAAGA,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,uBAAuB,GAAGC,8BAAuB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,MAAM,+BAA+B,GAAGC,+BAAyB,CAAC;QAChE,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,+BAA+B,EAAE;AACnC,QAAA,OAAO,+BAA+B;IACxC;IAEA,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,MAAM,iCAAiC,GAAGC,kCAA2B,CAAC;QACpE,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,iCAAiC,EAAE;AACrC,QAAA,OAAO,iCAAiC;IAC1C;AAEA,IAAA,MAAM,4BAA4B,GAAG,MAAMC,8BAAwB,CAAC;QAClE,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACR,KAAA,CAAC;IACF,IAAI,4BAA4B,EAAE;AAChC,QAAA,OAAO,4BAA4B;IACrC;AAEA,IAAA,MAAM,uBAAuB,GAAG,MAAMC,yBAAiB,CAAC;QACtD,OAAO;QACP,aAAa;QACb,WAAW;QACX,KAAK;AACN,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE;AAC1D,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnE,IAAA,MAAM,kBAAkB,GAAG,MAAMC,yBAAY,CAAC;QAC5C,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,OAAO;AACR,KAAA,CAAC;IACF,IAAI,kBAAkB,EAAE;AACtB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,OAAOC,6BAAc,CAAC;AACpB,QAAA,kBAAkB,EAAEC,mBAAY,CAAC,IAAI,CAAC;AACpC,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA;SACF,CAAC;QACF,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { Auth0Client } from '@auth0/nextjs-auth0/server';
|
|
3
|
+
import { Brand } from 'src/types/brand';
|
|
4
|
+
import { Auth0Config } from 'src/types';
|
|
5
|
+
export declare const handleUserProfile: ({ request, auth0Instance, auth0Config, brand, }: {
|
|
6
|
+
request: NextRequest;
|
|
7
|
+
auth0Instance: Auth0Client;
|
|
8
|
+
auth0Config: Auth0Config;
|
|
9
|
+
brand: Brand;
|
|
10
|
+
}) => Promise<NextResponse | void>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var server = require('next/server');
|
|
4
|
+
var session = require('../../lib/enrichUser/session.js');
|
|
5
|
+
var addCachingHeaders = require('./addCachingHeaders.js');
|
|
6
|
+
|
|
7
|
+
const handleUserProfile = async ({ request, auth0Instance, auth0Config, brand, }) => {
|
|
8
|
+
if (request.nextUrl.pathname === auth0Config.userProfileEndpoint) {
|
|
9
|
+
const session$1 = await auth0Instance.getSession(request);
|
|
10
|
+
if (!session$1) {
|
|
11
|
+
return new server.NextResponse(null, {
|
|
12
|
+
status: 401,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const user = session$1.user;
|
|
16
|
+
const enrichedUser = await session.enrichUser({
|
|
17
|
+
user,
|
|
18
|
+
accessToken: session$1.tokenSet.accessToken,
|
|
19
|
+
brand,
|
|
20
|
+
});
|
|
21
|
+
const userResponse = server.NextResponse.json(enrichedUser);
|
|
22
|
+
addCachingHeaders.addCachingHeaders(userResponse);
|
|
23
|
+
return userResponse;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.handleUserProfile = handleUserProfile;
|
|
28
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sources":["../../../../../src/server/middleware/profile.ts"],"sourcesContent":[null],"names":["session","NextResponse","enrichUser","addCachingHeaders"],"mappings":";;;;;;AASO,MAAM,iBAAiB,GAAG,OAAO,EACtC,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,GAMN,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,mBAAmB,EAAE;QAChE,MAAMA,SAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;QAEvD,IAAI,CAACA,SAAO,EAAE;AACZ,YAAA,OAAO,IAAIC,mBAAY,CAAC,IAAI,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACZ,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,IAAI,GAAGD,SAAO,CAAC,IAAmB;AAExC,QAAA,MAAM,YAAY,GAAG,MAAME,kBAAU,CAAC;YACpC,IAAI;AACJ,YAAA,WAAW,EAAEF,SAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,KAAK;AACN,SAAA,CAAC;QAEF,MAAM,YAAY,GAAGC,mBAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpDE,mCAAiB,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,YAAY;IACrB;AACF;;;;"}
|
|
@@ -4,6 +4,7 @@ var server = require('next/server');
|
|
|
4
4
|
var errors = require('@auth0/nextjs-auth0/errors');
|
|
5
5
|
var authLinks = require('../../lib/authLinks.js');
|
|
6
6
|
var refreshAccessToken = require('./refreshAccessToken.js');
|
|
7
|
+
var addCachingHeaders = require('./addCachingHeaders.js');
|
|
7
8
|
|
|
8
9
|
const handleAccessTokenRequest = async ({ language, request, response, auth0Instance, auth0Config, onError, }) => {
|
|
9
10
|
if (request.nextUrl.pathname !== auth0Config.tokenEndpoint)
|
|
@@ -41,9 +42,7 @@ const handleAccessTokenRequest = async ({ language, request, response, auth0Inst
|
|
|
41
42
|
token,
|
|
42
43
|
expiresAt,
|
|
43
44
|
});
|
|
44
|
-
|
|
45
|
-
tokenResponse.headers.set('Pragma', 'no-cache');
|
|
46
|
-
tokenResponse.headers.set('Expires', '0');
|
|
45
|
+
addCachingHeaders.addCachingHeaders(tokenResponse);
|
|
47
46
|
return tokenResponse;
|
|
48
47
|
},
|
|
49
48
|
onFailure: (authError) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":["NextResponse","AccessTokenErrorCode","getLoginLink","refreshAccessToken"],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":["NextResponse","AccessTokenErrorCode","getLoginLink","refreshAccessToken","addCachingHeaders"],"mappings":";;;;;;;;MAYa,wBAAwB,GAAG,OAAO,EAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,GAQR,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,aAAa;QAAE;IAE5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAOA,mBAAY,CAAC,IAAI,CACtB;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAEC,2BAAoB,CAAC,eAAe;AAC3C,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CACF;IACH;AAEA,IAAA,IAAI,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAGC,sBAAY,CAAC;YAC5B,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,aAAa;AACnC,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC;AACF,QAAA,OAAOF,mBAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,OAAOG,qCAAkB,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;AAC9B,YAAA,MAAM,aAAa,GAAGH,mBAAY,CAAC,IAAI,CAAC;gBACtC,KAAK;gBACL,SAAS;AACV,aAAA,CAAC;YACFI,mCAAiB,CAAC,aAAa,CAAC;AAChC,YAAA,OAAO,aAAa;QACtB,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAmB,KAAI;AACjC,YAAA,OAAO,GAAG,SAAS,CAAC;AACpB,YAAA,OAAOJ,mBAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiClient } from '@smg-automotive/api-client-pkg';
|
|
2
|
+
import { baseUrl } from '../baseUrl.js';
|
|
3
|
+
|
|
4
|
+
const entitlementsClient = ApiClient({
|
|
5
|
+
baseUrl,
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
export { entitlementsClient };
|
|
12
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../src/api/entitlements/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAkBO,MAAM,kBAAkB,GAE3B,SAAS,CAAkC;IAC7C,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { entitlementsClient } from './client.js';
|
|
2
|
+
|
|
3
|
+
const getEntitlements = async ({ sellerId, accessToken, }) => {
|
|
4
|
+
const response = await entitlementsClient
|
|
5
|
+
.path('/sellers/{sellerId}/entitlements', { sellerId })
|
|
6
|
+
.get({
|
|
7
|
+
options: {
|
|
8
|
+
accessToken,
|
|
9
|
+
cache: 'force-cache',
|
|
10
|
+
next: {
|
|
11
|
+
revalidate: 3600,
|
|
12
|
+
tags: [`entitlements/${sellerId}`],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
if (response.ok) {
|
|
17
|
+
return response.body;
|
|
18
|
+
}
|
|
19
|
+
if (response.status === 404) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
throw new Error(response.statusText);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { getEntitlements };
|
|
26
|
+
//# sourceMappingURL=getEntitlements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEntitlements.js","sources":["../../../../../src/api/entitlements/getEntitlements.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,eAAe,GAAG,OAAO,EACpC,QAAQ,EACR,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAM;AACpB,SAAA,IAAI,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE;AACrD,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,aAAA,EAAgB,QAAQ,EAAE,CAAC;AACnC,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,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,8 +1,8 @@
|
|
|
1
|
-
import { ApiClient, ClientConfiguration, ResponseType } from '@smg-automotive/api-client-pkg';
|
|
1
|
+
import { ApiClient, ClientConfiguration, RequestType, ResponseType } from '@smg-automotive/api-client-pkg';
|
|
2
2
|
import { Seller } from './types';
|
|
3
3
|
interface SellerClientConfiguration extends ClientConfiguration {
|
|
4
4
|
'sellers/{sellerId}': {
|
|
5
|
-
get: () => ResponseType<never, Seller>;
|
|
5
|
+
get: (data?: RequestType<never, never>) => ResponseType<never, Seller>;
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
8
|
export declare const sellerClient: ReturnType<typeof ApiClient<SellerClientConfiguration>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../src/api/seller/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAgBO,MAAM,YAAY,GAErB,SAAS,CAA4B;IACvC,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
|
|
@@ -5,7 +5,15 @@ const getSeller = async ({ sellerId }) => {
|
|
|
5
5
|
.path('sellers/{sellerId}', {
|
|
6
6
|
sellerId,
|
|
7
7
|
})
|
|
8
|
-
.get(
|
|
8
|
+
.get({
|
|
9
|
+
options: {
|
|
10
|
+
cache: 'force-cache',
|
|
11
|
+
next: {
|
|
12
|
+
revalidate: 3600,
|
|
13
|
+
tags: [`seller/${sellerId}`],
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
});
|
|
9
17
|
if (response.ok) {
|
|
10
18
|
return response.body;
|
|
11
19
|
}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,CAAC;AACH,QAAA,OAAO,EAAE;AACP,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,OAAA,EAAU,QAAQ,EAAE,CAAC;AAC7B,aAAA;AACF,SAAA;AACF,KAAA,CAAC;AAEJ,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;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiClient } from '@smg-automotive/api-client-pkg';
|
|
2
|
+
import { baseUrl } from '../baseUrl.js';
|
|
3
|
+
|
|
4
|
+
const userClient = ApiClient({
|
|
5
|
+
baseUrl,
|
|
6
|
+
headers: {
|
|
7
|
+
'Content-Type': 'application/json',
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
export { userClient };
|
|
12
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sources":["../../../../../src/api/user/client.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAwBO,MAAM,UAAU,GACrB,SAAS,CAA0B;IACjC,OAAO;AACP,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,kBAAkB;AACnC,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { userClient } from './client.js';
|
|
2
|
+
|
|
3
|
+
const getManagedSellers = async ({ userId, accessToken, }) => {
|
|
4
|
+
const response = await userClient
|
|
5
|
+
.path('users/{userId}/sellers', {
|
|
6
|
+
userId,
|
|
7
|
+
})
|
|
8
|
+
.get({
|
|
9
|
+
options: {
|
|
10
|
+
accessToken,
|
|
11
|
+
cache: 'force-cache',
|
|
12
|
+
next: {
|
|
13
|
+
revalidate: 3600,
|
|
14
|
+
tags: [`managed-sellers/${userId}`],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
searchParams: {
|
|
18
|
+
page: 0,
|
|
19
|
+
size: 300,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
if (response.ok) {
|
|
23
|
+
return response.body;
|
|
24
|
+
}
|
|
25
|
+
if (response.status === 404) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
throw new Error(response.statusText);
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { getManagedSellers };
|
|
32
|
+
//# sourceMappingURL=getManagedSellers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getManagedSellers.js","sources":["../../../../../src/api/user/getManagedSellers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,GAAG,OAAO,EACtC,MAAM,EACN,WAAW,GAIZ,KAAI;IACH,MAAM,QAAQ,GAAG,MAAM;SACpB,IAAI,CAAC,wBAAwB,EAAE;QAC9B,MAAM;KACP;AACA,SAAA,GAAG,CAAC;AACH,QAAA,OAAO,EAAE;YACP,WAAW;AACX,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,IAAI,EAAE,CAAC,CAAA,gBAAA,EAAmB,MAAM,EAAE,CAAC;AACpC,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,GAAG;AACV,SAAA;AACF,KAAA,CAAC;AAEJ,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;;;;"}
|
package/dist/esm/config/auth0.js
CHANGED
|
@@ -29,8 +29,7 @@ const auth0Config = {
|
|
|
29
29
|
// Endpoint to fetch and refresh token
|
|
30
30
|
callbackEndpoint: '/api/auth/callback',
|
|
31
31
|
// Endpoint to fetch user profile
|
|
32
|
-
|
|
33
|
-
userProfileEndpoint: '/auth/profile',
|
|
32
|
+
userProfileEndpoint: '/api/auth/profile',
|
|
34
33
|
// Interval delay to check if the token needs to be refreshed
|
|
35
34
|
intervalDelayInMs: 10000,
|
|
36
35
|
// If the token is valid for less than the specified time to app will rotate the token
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,aAAa;AACzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAE7E,MAAM,qBAAqB,GAAG,YAAY,CACxC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAClD;AACD,MAAM,sBAAsB,GAAG,YAAY,CACzC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CACnD;AAED,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAa;AAC1E,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB;KAChE,KAAK,CAAC,GAAG;KACT,MAAM,CAAC,OAAO,CAAe;AAEhC,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACtE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AAEzD,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B;KAC5E,KAAK,CAAC,GAAG;KACT,MAAM,CAAC,OAAO,CAAC;AAElB,IAAI,CAAC,aAAa,EAAE;AAClB,IAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC;AAC7D;AAEA,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;AACjC,IAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC;AAChE;AAEA,MAAM,WAAW,GAAgB;;AAE/B,IAAA,aAAa,EAAE,iBAAiB;;AAEhC,IAAA,cAAc,EAAE,kBAAkB;;AAElC,IAAA,aAAa,EAAE,wBAAwB;;AAEvC,IAAA,gBAAgB,EAAE,oBAAoB
|
|
1
|
+
{"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Brand } from 'src/types/brand';
|
|
2
|
+
import { EnrichedSessionUser, SessionUser } from 'src/types';
|
|
3
|
+
export declare const enrichUser: ({ user, accessToken, brand, }: {
|
|
4
|
+
user: SessionUser;
|
|
5
|
+
accessToken: string;
|
|
6
|
+
brand: Brand;
|
|
7
|
+
}) => Promise<EnrichedSessionUser>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getManagedSellers } from '../../api/user/getManagedSellers.js';
|
|
2
|
+
import '../../api/user/client.js';
|
|
3
|
+
import { getEntitlements } from '../../api/entitlements/getEntitlements.js';
|
|
4
|
+
import '../../api/entitlements/client.js';
|
|
5
|
+
|
|
6
|
+
const enrichUser = async ({ user, accessToken, brand, }) => {
|
|
7
|
+
const managedSellersResponse = user.isMultiTenantUser
|
|
8
|
+
? await getManagedSellers({
|
|
9
|
+
userId: user.userId,
|
|
10
|
+
accessToken,
|
|
11
|
+
})
|
|
12
|
+
: null;
|
|
13
|
+
const { content: managedSellers } = managedSellersResponse
|
|
14
|
+
? managedSellersResponse
|
|
15
|
+
: { content: [] };
|
|
16
|
+
const sortedManagedSellers = managedSellers.sort((a, b) => {
|
|
17
|
+
return (a.billingName || '').localeCompare(b.billingName || '');
|
|
18
|
+
});
|
|
19
|
+
// We can not load entitlements without a selected sellerId
|
|
20
|
+
if (user.forceTenantSelection) {
|
|
21
|
+
return Object.assign(user, {
|
|
22
|
+
managedSellers: sortedManagedSellers,
|
|
23
|
+
entitlements: null,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const fullEntitlements = await getEntitlements({
|
|
27
|
+
sellerId: parseInt(user.sellerId, 10),
|
|
28
|
+
accessToken,
|
|
29
|
+
});
|
|
30
|
+
const entitlements = fullEntitlements && fullEntitlements[brand]
|
|
31
|
+
? fullEntitlements[brand]
|
|
32
|
+
: null;
|
|
33
|
+
return Object.assign(user, {
|
|
34
|
+
managedSellers: sortedManagedSellers,
|
|
35
|
+
entitlements,
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { enrichUser };
|
|
40
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sources":["../../../../../src/lib/enrichUser/session.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKO,MAAM,UAAU,GAAG,OAAO,EAC/B,IAAI,EACJ,WAAW,EACX,KAAK,GAKN,KAAkC;AACjC,IAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC;UAChC,MAAM,iBAAiB,CAAC;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW;SACZ;UACD,IAAI;AACR,IAAA,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG;AAClC,UAAE;AACF,UAAE,EAAE,OAAO,EAAE,EAA0B,EAAE;IAC3C,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACxD,QAAA,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;AACjE,IAAA,CAAC,CAAC;;AAGF,IAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC7B,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,YAAA,cAAc,EAAE,oBAAoB;AACpC,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;QAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrC,WAAW;AACZ,KAAA,CAAC;AACF,IAAA,MAAM,YAAY,GAChB,gBAAgB,IAAI,gBAAgB,CAAC,KAAK;AACxC,UAAE,gBAAgB,CAAC,KAAK;UACtB,IAAI;AAEV,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACzB,QAAA,cAAc,EAAE,oBAAoB;QACpC,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const addCachingHeaders = (response) => {
|
|
2
|
+
response.headers.set('Cache-Control', 'private, no-cache, no-store, must-revalidate, max-age=0');
|
|
3
|
+
response.headers.set('Pragma', 'no-cache');
|
|
4
|
+
response.headers.set('Expires', '0');
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export { addCachingHeaders };
|
|
8
|
+
//# sourceMappingURL=addCachingHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addCachingHeaders.js","sources":["../../../../../src/server/middleware/addCachingHeaders.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,iBAAiB,GAAG,CAAC,QAAsB,KAAI;IAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,eAAe,EACf,yDAAyD,CAC1D;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC;AACtC;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { Language } from '@smg-automotive/i18n-pkg';
|
|
3
|
-
|
|
3
|
+
import { Brand } from 'src/types/brand';
|
|
4
|
+
export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }: {
|
|
4
5
|
request: NextRequest;
|
|
5
6
|
isProtectedRoute: (path: string) => boolean;
|
|
6
7
|
language: Language;
|
|
@@ -8,4 +9,5 @@ export declare const authMiddleware: ({ request, isProtectedRoute, language, hos
|
|
|
8
9
|
protocol: string;
|
|
9
10
|
isProxied: boolean;
|
|
10
11
|
onError?: (error: Error) => void;
|
|
12
|
+
brand: Brand;
|
|
11
13
|
}) => Promise<NextResponse>;
|
|
@@ -3,6 +3,7 @@ import { getAuth0Config } from '../../config/auth0.js';
|
|
|
3
3
|
import { getAuth0Instance } from '../getAuth0Instance.js';
|
|
4
4
|
import { handleAccessTokenRequest } from './token.js';
|
|
5
5
|
import { protectRoute } from './protectRoute.js';
|
|
6
|
+
import { handleUserProfile } from './profile.js';
|
|
6
7
|
import { handleCrossDomainLogout, deleteRelatedSessionCookies } from './logout.js';
|
|
7
8
|
import { addLoginParamsFromCookies } from './login.js';
|
|
8
9
|
import { combineHeaders } from './combineHeaders.js';
|
|
@@ -17,7 +18,7 @@ const isAuthRoute = (pathname, auth0Config) => {
|
|
|
17
18
|
tokenEndpoint,
|
|
18
19
|
].includes(pathname);
|
|
19
20
|
};
|
|
20
|
-
const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }) => {
|
|
21
|
+
const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }) => {
|
|
21
22
|
const { pathname } = request.nextUrl;
|
|
22
23
|
const auth0Instance = getAuth0Instance({ host, protocol, isProxied });
|
|
23
24
|
const auth0Config = getAuth0Config({ isProxied });
|
|
@@ -59,6 +60,15 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
|
|
|
59
60
|
if (switchSelectedSellerIdResult) {
|
|
60
61
|
return switchSelectedSellerIdResult;
|
|
61
62
|
}
|
|
63
|
+
const handleUserProfileResult = await handleUserProfile({
|
|
64
|
+
request,
|
|
65
|
+
auth0Instance,
|
|
66
|
+
auth0Config,
|
|
67
|
+
brand,
|
|
68
|
+
});
|
|
69
|
+
if (handleUserProfileResult) {
|
|
70
|
+
return handleUserProfileResult;
|
|
71
|
+
}
|
|
62
72
|
if (isAuthRoute(pathname, auth0Config) || isAuthErrorRoute) {
|
|
63
73
|
return authResponse;
|
|
64
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAeA,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;AAEM,MAAM,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,GAUN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;AACpC,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,uBAAuB,GAAG,uBAAuB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,MAAM,+BAA+B,GAAG,yBAAyB,CAAC;QAChE,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,+BAA+B,EAAE;AACnC,QAAA,OAAO,+BAA+B;IACxC;IAEA,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAE5D,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;QACpE,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;IACF,IAAI,iCAAiC,EAAE;AACrC,QAAA,OAAO,iCAAiC;IAC1C;AAEA,IAAA,MAAM,4BAA4B,GAAG,MAAM,wBAAwB,CAAC;QAClE,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACR,KAAA,CAAC;IACF,IAAI,4BAA4B,EAAE;AAChC,QAAA,OAAO,4BAA4B;IACrC;AAEA,IAAA,MAAM,uBAAuB,GAAG,MAAM,iBAAiB,CAAC;QACtD,OAAO;QACP,aAAa;QACb,WAAW;QACX,KAAK;AACN,KAAA,CAAC;IACF,IAAI,uBAAuB,EAAE;AAC3B,QAAA,OAAO,uBAAuB;IAChC;IAEA,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,gBAAgB,EAAE;AAC1D,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,WAAW,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC;AACnE,IAAA,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;QAC5C,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,OAAO;AACR,KAAA,CAAC;IACF,IAAI,kBAAkB,EAAE;AACtB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,OAAO,cAAc,CAAC;AACpB,QAAA,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC;AACpC,YAAA,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,aAAA;SACF,CAAC;QACF,YAAY;AACb,KAAA,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { Auth0Client } from '@auth0/nextjs-auth0/server';
|
|
3
|
+
import { Brand } from 'src/types/brand';
|
|
4
|
+
import { Auth0Config } from 'src/types';
|
|
5
|
+
export declare const handleUserProfile: ({ request, auth0Instance, auth0Config, brand, }: {
|
|
6
|
+
request: NextRequest;
|
|
7
|
+
auth0Instance: Auth0Client;
|
|
8
|
+
auth0Config: Auth0Config;
|
|
9
|
+
brand: Brand;
|
|
10
|
+
}) => Promise<NextResponse | void>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { NextResponse } from 'next/server';
|
|
2
|
+
import { enrichUser } from '../../lib/enrichUser/session.js';
|
|
3
|
+
import { addCachingHeaders } from './addCachingHeaders.js';
|
|
4
|
+
|
|
5
|
+
const handleUserProfile = async ({ request, auth0Instance, auth0Config, brand, }) => {
|
|
6
|
+
if (request.nextUrl.pathname === auth0Config.userProfileEndpoint) {
|
|
7
|
+
const session = await auth0Instance.getSession(request);
|
|
8
|
+
if (!session) {
|
|
9
|
+
return new NextResponse(null, {
|
|
10
|
+
status: 401,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
const user = session.user;
|
|
14
|
+
const enrichedUser = await enrichUser({
|
|
15
|
+
user,
|
|
16
|
+
accessToken: session.tokenSet.accessToken,
|
|
17
|
+
brand,
|
|
18
|
+
});
|
|
19
|
+
const userResponse = NextResponse.json(enrichedUser);
|
|
20
|
+
addCachingHeaders(userResponse);
|
|
21
|
+
return userResponse;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { handleUserProfile };
|
|
26
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sources":["../../../../../src/server/middleware/profile.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AASO,MAAM,iBAAiB,GAAG,OAAO,EACtC,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,GAMN,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,mBAAmB,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;QAEvD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACZ,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAmB;AAExC,QAAA,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;YACpC,IAAI;AACJ,YAAA,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW;YACzC,KAAK;AACN,SAAA,CAAC;QAEF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACpD,iBAAiB,CAAC,YAAY,CAAC;AAC/B,QAAA,OAAO,YAAY;IACrB;AACF;;;;"}
|
|
@@ -2,6 +2,7 @@ import { NextResponse } from 'next/server';
|
|
|
2
2
|
import { AccessTokenErrorCode } from '@auth0/nextjs-auth0/errors';
|
|
3
3
|
import { getLoginLink } from '../../lib/authLinks.js';
|
|
4
4
|
import { refreshAccessToken } from './refreshAccessToken.js';
|
|
5
|
+
import { addCachingHeaders } from './addCachingHeaders.js';
|
|
5
6
|
|
|
6
7
|
const handleAccessTokenRequest = async ({ language, request, response, auth0Instance, auth0Config, onError, }) => {
|
|
7
8
|
if (request.nextUrl.pathname !== auth0Config.tokenEndpoint)
|
|
@@ -39,9 +40,7 @@ const handleAccessTokenRequest = async ({ language, request, response, auth0Inst
|
|
|
39
40
|
token,
|
|
40
41
|
expiresAt,
|
|
41
42
|
});
|
|
42
|
-
tokenResponse
|
|
43
|
-
tokenResponse.headers.set('Pragma', 'no-cache');
|
|
44
|
-
tokenResponse.headers.set('Expires', '0');
|
|
43
|
+
addCachingHeaders(tokenResponse);
|
|
45
44
|
return tokenResponse;
|
|
46
45
|
},
|
|
47
46
|
onFailure: (authError) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.js","sources":["../../../../../src/server/middleware/token.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;MAYa,wBAAwB,GAAG,OAAO,EAC7C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,OAAO,GAQR,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,aAAa;QAAE;IAE5D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;IAEhE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,YAAY,CAAC,IAAI,CACtB;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,2CAA2C;gBACpD,IAAI,EAAE,oBAAoB,CAAC,eAAe;AAC3C,aAAA;SACF,EACD;AACE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CACF;IACH;AAEA,IAAA,IAAI,QAAQ,IAAI,OAAO,EAAE,IAAI,EAAE;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,WAAW;YACX,QAAQ;YACR,QAAQ,EAAE,WAAW,CAAC,aAAa;AACnC,YAAA,gBAAgB,EAAE,QAAQ;AAC3B,SAAA,CAAC;AACF,QAAA,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACtE,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;IACJ;AAEA,IAAA,OAAO,kBAAkB,CAAC;QACxB,OAAO;QACP,QAAQ;QACR,aAAa;AACb,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAI;AAC9B,YAAA,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC;gBACtC,KAAK;gBACL,SAAS;AACV,aAAA,CAAC;YACF,iBAAiB,CAAC,aAAa,CAAC;AAChC,YAAA,OAAO,aAAa;QACtB,CAAC;AACD,QAAA,SAAS,EAAE,CAAC,SAAmB,KAAI;AACjC,YAAA,OAAO,GAAG,SAAS,CAAC;AACpB,YAAA,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,EAC/D,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB;QACH,CAAC;AACF,KAAA,CAAC;AACJ;;;;"}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { Language } from '@smg-automotive/i18n-pkg';
|
|
3
3
|
|
|
4
|
-
declare
|
|
4
|
+
declare enum Brand {
|
|
5
|
+
AutoScout24 = "autoscout24",
|
|
6
|
+
MotoScout24 = "motoscout24"
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }: {
|
|
5
10
|
request: NextRequest;
|
|
6
11
|
isProtectedRoute: (path: string) => boolean;
|
|
7
12
|
language: Language;
|
|
@@ -9,6 +14,7 @@ declare const authMiddleware: ({ request, isProtectedRoute, language, host, prot
|
|
|
9
14
|
protocol: string;
|
|
10
15
|
isProxied: boolean;
|
|
11
16
|
onError?: (error: Error) => void;
|
|
17
|
+
brand: Brand;
|
|
12
18
|
}) => Promise<NextResponse>;
|
|
13
19
|
|
|
14
20
|
export { authMiddleware };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smg-automotive/auth",
|
|
3
|
-
"version": "6.8.0-auth0-update-
|
|
3
|
+
"version": "6.8.0-auth0-update-user-profile-endpoint.1",
|
|
4
4
|
"description": "SMG Automotive auth package",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
82
|
"@auth0/nextjs-auth0": "4.9.0",
|
|
83
|
-
"@smg-automotive/api-client-pkg": "4.
|
|
83
|
+
"@smg-automotive/api-client-pkg": "4.5.0-pass-cache-and-next-options-e0f0cbe28ebb744ee88d13f33f0f18348a60e489.1",
|
|
84
84
|
"@smg-automotive/i18n-pkg": "1.7.2",
|
|
85
85
|
"jose": "6.0.12"
|
|
86
86
|
},
|