@smg-automotive/auth 7.1.0-auth0-update-tweaks.4 → 7.1.0-auth0-update-tweaks.6
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/README.md +13 -3
- package/dist/{Auth-DVS7k3hQ.d.ts → Auth-KOmvnSHJ.d.ts} +1 -1
- package/dist/cjs/config/auth0.js +4 -1
- package/dist/cjs/config/auth0.js.map +1 -1
- package/dist/cjs/fixtures/authConfig.js +3 -1
- package/dist/cjs/fixtures/authConfig.js.map +1 -1
- package/dist/cjs/server/getAuth0Instance.js +17 -1
- package/dist/cjs/server/getAuth0Instance.js.map +1 -1
- package/dist/cjs/server/middleware/index.js +14 -1
- package/dist/cjs/server/middleware/index.js.map +1 -1
- package/dist/cjs/server/middleware/protectRoute.js +0 -3
- package/dist/cjs/server/middleware/protectRoute.js.map +1 -1
- package/dist/cjs/server/redisSessionStore.d.ts +15 -0
- package/dist/cjs/server/redisSessionStore.js +31 -0
- package/dist/cjs/server/redisSessionStore.js.map +1 -0
- package/dist/cjs/types/auth0/config.d.ts +1 -0
- package/dist/esm/config/auth0.js +4 -1
- package/dist/esm/config/auth0.js.map +1 -1
- package/dist/esm/fixtures/authConfig.js +3 -1
- package/dist/esm/fixtures/authConfig.js.map +1 -1
- package/dist/esm/server/getAuth0Instance.js +17 -1
- package/dist/esm/server/getAuth0Instance.js.map +1 -1
- package/dist/esm/server/middleware/index.js +14 -1
- package/dist/esm/server/middleware/index.js.map +1 -1
- package/dist/esm/server/middleware/protectRoute.js +0 -3
- package/dist/esm/server/middleware/protectRoute.js.map +1 -1
- package/dist/esm/server/redisSessionStore.d.ts +15 -0
- package/dist/esm/server/redisSessionStore.js +29 -0
- package/dist/esm/server/redisSessionStore.js.map +1 -0
- package/dist/esm/types/auth0/config.d.ts +1 -0
- package/dist/fixtures.d.ts +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/server.d.ts +2 -2
- package/dist/{sessionUser-8ZPIZ_oX.d.ts → sessionUser-Wd3XUk39.d.ts} +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -14,7 +14,6 @@ npm install @smg-automotive/auth
|
|
|
14
14
|
You need following environment variables to be set:
|
|
15
15
|
|
|
16
16
|
- To communicate with automotive APIs:
|
|
17
|
-
|
|
18
17
|
- `API_ROOT`
|
|
19
18
|
- `API_VERSION`
|
|
20
19
|
|
|
@@ -27,12 +26,10 @@ You need following environment variables to be set:
|
|
|
27
26
|
- `PROXY_REQUEST_PATH_SEGMENT` - The path segment on which your application is mounted.
|
|
28
27
|
|
|
29
28
|
- Localization
|
|
30
|
-
|
|
31
29
|
- `DEFAULT_LOCALE` - The default locale of the application.
|
|
32
30
|
- `SUPPORTED_LOCALES` - All supported locales of the application, comma separated.
|
|
33
31
|
|
|
34
32
|
- Auth0 configuration
|
|
35
|
-
|
|
36
33
|
- `AUTH0_CLIENT_ID`
|
|
37
34
|
- `AUTH0_DOMAIN`
|
|
38
35
|
- `AUTH0_SESSION_NAME`
|
|
@@ -43,6 +40,19 @@ You need following environment variables to be set:
|
|
|
43
40
|
|
|
44
41
|
Check out the [Auth0 docs](https://auth0.com/docs/quickstart/webapp/nextjs/interactive) for more information.
|
|
45
42
|
|
|
43
|
+
- Redis Session Store
|
|
44
|
+
- `AUTH0_CUSTOM_REDIS_URL`: When present the package will create a redis session store instead of using cookies to store the session
|
|
45
|
+
|
|
46
|
+
Example: `redis://default:devpassword123@localhost:6379`
|
|
47
|
+
|
|
48
|
+
The consuming project needs to enable node js middleware in next
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
// middleware.ts
|
|
52
|
+
...
|
|
53
|
+
export const config = { runtime: "nodejs" };
|
|
54
|
+
```
|
|
55
|
+
|
|
46
56
|
### Auth Context
|
|
47
57
|
|
|
48
58
|
This package exposes the `AuthProvider` and `useAuth` hook to access the authentication related properties. The context exposes:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FC, PropsWithChildren } from 'react';
|
|
2
|
-
import { A as Auth0Config, E as EnrichedSessionUser } from './sessionUser-
|
|
2
|
+
import { A as Auth0Config, E as EnrichedSessionUser } from './sessionUser-Wd3XUk39.js';
|
|
3
3
|
|
|
4
4
|
type AuthProviderProps = {
|
|
5
5
|
config: Auth0Config;
|
package/dist/cjs/config/auth0.js
CHANGED
|
@@ -21,6 +21,7 @@ if (!defaultLocale) {
|
|
|
21
21
|
if (supportedLocales.length === 0) {
|
|
22
22
|
throw new Error('[Auth-package] SUPPORTED_LOCALES is not set');
|
|
23
23
|
}
|
|
24
|
+
const sessionDuration = 30 * 24 * 60 * 60; // 30 days
|
|
24
25
|
const auth0Config = {
|
|
25
26
|
// Endpoint where the user gets redirected to auth0 universal login
|
|
26
27
|
loginEndpoint: '/api/auth/login',
|
|
@@ -51,12 +52,14 @@ const auth0Config = {
|
|
|
51
52
|
default: defaultLocale,
|
|
52
53
|
supported: supportedLocales,
|
|
53
54
|
},
|
|
55
|
+
// Session duration
|
|
56
|
+
sessionDuration,
|
|
54
57
|
// A domain wide cross project cookie storing the sellerId the user want's to act as in the system
|
|
55
58
|
// Used for Multi-tenant accounts capable of multiple sellers
|
|
56
59
|
selectedSellerIdCookie: {
|
|
57
60
|
name: 'selectedSellerId',
|
|
58
61
|
httpOnly: true,
|
|
59
|
-
maxAge:
|
|
62
|
+
maxAge: sessionDuration,
|
|
60
63
|
secure: true,
|
|
61
64
|
sameSite: 'lax',
|
|
62
65
|
path: '/',
|
|
@@ -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;;AAEtC,IAAA,mBAAmB,EAAE,mBAAmB;;AAExC,IAAA,iBAAiB,EAAE,KAAK;;AAExB,IAAA,oBAAoB,EAAE,MAAM;;AAE5B,IAAA,gBAAgB,EAAE,EAAE;;AAEpB,IAAA,qBAAqB,EAAE,EAAE;;AAEzB,IAAA,sBAAsB,EAAE,EAAE;;AAE1B,IAAA,gBAAgB,EAAE,KAAK;;AAEvB,IAAA,sBAAsB,EAAE,KAAK;;AAE7B,IAAA,cAAc,EAAE;AACd,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,SAAS,EAAE,gBAAgB;AAC5B,KAAA;;;
|
|
1
|
+
{"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":["ensureString","ensureSlash"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const sessionDuration = 30 * 24 * 60 * 60; // 30 Days
|
|
3
4
|
const authConfig = (args = {}) => ({
|
|
4
5
|
loginEndpoint: '/api/auth/login',
|
|
5
6
|
logoutEndpoint: '/api/auth/logout',
|
|
@@ -8,10 +9,11 @@ const authConfig = (args = {}) => ({
|
|
|
8
9
|
userProfileEndpoint: '/api/auth/me',
|
|
9
10
|
intervalDelayInMs: 10000,
|
|
10
11
|
refreshThresholdInMs: 300000,
|
|
12
|
+
sessionDuration,
|
|
11
13
|
selectedSellerIdCookie: {
|
|
12
14
|
name: 'selectedSellerId',
|
|
13
15
|
httpOnly: true,
|
|
14
|
-
maxAge:
|
|
16
|
+
maxAge: sessionDuration,
|
|
15
17
|
secure: true,
|
|
16
18
|
sameSite: 'lax',
|
|
17
19
|
path: '/',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authConfig.js","sources":["../../../../src/fixtures/authConfig.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"authConfig.js","sources":["../../../../src/fixtures/authConfig.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,MAAM,UAAU,GAAG,CAAC,OAA6B,EAAE,MAAmB;AAC3E,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,cAAc,EAAE,kBAAkB;AAClC,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,gBAAgB,EAAE,oBAAoB;AACtC,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,oBAAoB,EAAE,MAAM;IAC5B,eAAe;AACf,IAAA,sBAAsB,EAAE;AACtB,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,MAAM,EAAE,eAAe;AACvB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,GAAG;AACV,KAAA;AACD,IAAA,0BAA0B,EAAE;AAC1B,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;AACnB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,GAAG;AACV,KAAA;AACD,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,qBAAqB,EAAE,cAAc;AACrC,IAAA,sBAAsB,EAAE,cAAc;AACtC,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,cAAc,EAAE;AACd,QAAA,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACpC,KAAA;AACD,IAAA,MAAM,EAAE,mDAAmD;AAC3D,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,iBAAiB,EAAE,SAAS;AAC5B,IAAA,QAAQ,EAAE,iDAAiD;AAC3D,IAAA,GAAG,IAAI;AACR,CAAA;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var server = require('@auth0/nextjs-auth0/server');
|
|
4
|
-
var
|
|
4
|
+
var redisSessionStore = require('./redisSessionStore.js');
|
|
5
5
|
var onCallbackFactory = require('./hooks/onCallbackFactory.js');
|
|
6
6
|
var beforeSessionSavedFactory = require('./hooks/beforeSessionSavedFactory.js');
|
|
7
|
+
var auth0 = require('../config/auth0.js');
|
|
7
8
|
|
|
8
9
|
const instances = {};
|
|
9
10
|
const buildInstanceKey = ({ host, isProxied, protocol, }) => {
|
|
@@ -17,7 +18,22 @@ const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
|
|
|
17
18
|
}
|
|
18
19
|
const auth0Config = auth0.getAuth0Config({ isProxied });
|
|
19
20
|
const appBaseUrl = `${protocol}://${host}`;
|
|
21
|
+
let sessionStore;
|
|
22
|
+
if (process.env.AUTH0_CUSTOM_REDIS_URL && process.env.AUTH0_SESSION_NAME) {
|
|
23
|
+
// eslint-disable-next-line no-console
|
|
24
|
+
console.info('[Auth-package] Creating Redis Session Sore');
|
|
25
|
+
sessionStore = new redisSessionStore.RedisSessionStore({
|
|
26
|
+
prefix: `${process.env.AUTH0_SESSION_NAME}:`,
|
|
27
|
+
ttlSeconds: auth0Config.sessionDuration,
|
|
28
|
+
redisUrl: process.env.AUTH0_CUSTOM_REDIS_URL,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// eslint-disable-next-line no-console
|
|
33
|
+
console.info('[Auth-package] Using cookies to store session');
|
|
34
|
+
}
|
|
20
35
|
const newInstance = new server.Auth0Client({
|
|
36
|
+
sessionStore,
|
|
21
37
|
appBaseUrl,
|
|
22
38
|
routes: {
|
|
23
39
|
login: auth0Config.loginEndpoint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","Auth0Client","beforeSessionSavedFactory","onCallbackFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","RedisSessionStore","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,IAAI,YAAY;AAChB,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;;AAExE,QAAA,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC;QAC1D,YAAY,GAAG,IAAIC,mCAAiB,CAAC;AACnC,YAAA,MAAM,EAAE,CAAA,EAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA,CAAA,CAAG;YAC5C,UAAU,EAAE,WAAW,CAAC,eAAe;AACvC,YAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;AAC7C,SAAA,CAAC;IACJ;SAAO;;AAEL,QAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC;IAC/D;AAEA,IAAA,MAAM,WAAW,GAAG,IAAIC,kBAAW,CAAC;QAClC,YAAY;QACZ,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,yBAAyB,EAAE,KAAK;AAChC,QAAA,kBAAkB,EAAEC,mDAAyB,CAAC,WAAW,CAAC;QAC1D,UAAU,EAAEC,mCAAiB,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;;;;"}
|
|
@@ -22,9 +22,22 @@ const isAuthRoute = (pathname, auth0Config) => {
|
|
|
22
22
|
};
|
|
23
23
|
const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }) => {
|
|
24
24
|
const { pathname } = request.nextUrl;
|
|
25
|
-
const auth0Instance = getAuth0Instance.getAuth0Instance({
|
|
25
|
+
const auth0Instance = getAuth0Instance.getAuth0Instance({
|
|
26
|
+
host,
|
|
27
|
+
protocol,
|
|
28
|
+
isProxied,
|
|
29
|
+
});
|
|
26
30
|
const auth0Config = auth0.getAuth0Config({ isProxied });
|
|
27
31
|
const isAuthErrorRoute = pathname.endsWith(auth0Config.globalAuthErrorPath);
|
|
32
|
+
// eslint-disable-next-line no-console
|
|
33
|
+
console.log('[auth middleware]', {
|
|
34
|
+
path: pathname,
|
|
35
|
+
host,
|
|
36
|
+
isProxied,
|
|
37
|
+
isProtectedRoute: isProtectedRoute(pathname),
|
|
38
|
+
isAuthRoute: isAuthRoute(pathname, auth0Config),
|
|
39
|
+
isAuthErrorRoute,
|
|
40
|
+
});
|
|
28
41
|
const crossDomainLogoutResult = logout.handleCrossDomainLogout({
|
|
29
42
|
host,
|
|
30
43
|
protocol,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParamsFromCookies","setLoginRelatedCookies","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;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParamsFromCookies","setLoginRelatedCookies","deleteRelatedSessionCookies","handleAccessTokenRequest","handleUserProfile","protectRoute","combineHeaders","NextResponse"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protectRoute.js","sources":["../../../../../src/server/middleware/protectRoute.ts"],"sourcesContent":[null],"names":["getLoginLink","NextResponse","proactivelyRefreshAccessToken"],"mappings":";;;;;;AAUA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAkB;IACjB,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;MAEY,YAAY,GAAG,OAAO,EACjC,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,GASR,KAAkC;IACjC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;IAEpD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AAClC,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;AAC3B,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;AACF,QAAA,MAAMC,2DAA6B,CAAC;YAClC,OAAO;YACP,QAAQ;YACR,aAAa;AACd,SAAA,CAAC;IACJ;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,SAAS,GAAG,KAAiB;AACnC,QAAA,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"protectRoute.js","sources":["../../../../../src/server/middleware/protectRoute.ts"],"sourcesContent":[null],"names":["getLoginLink","NextResponse","proactivelyRefreshAccessToken"],"mappings":";;;;;;AAUA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAkB;IACjB,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;MAEY,YAAY,GAAG,OAAO,EACjC,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,GASR,KAAkC;IACjC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;IAEpD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AAClC,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;AAC3B,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;AACF,QAAA,MAAMC,2DAA6B,CAAC;YAClC,OAAO;YACP,QAAQ;YACR,aAAa;AACd,SAAA,CAAC;IACJ;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;AACF;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SessionData, SessionDataStore } from '@auth0/nextjs-auth0/types';
|
|
2
|
+
type RedisSessionStoreOptions = {
|
|
3
|
+
prefix: string;
|
|
4
|
+
ttlSeconds: number;
|
|
5
|
+
redisUrl: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class RedisSessionStore implements SessionDataStore {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(options: RedisSessionStoreOptions);
|
|
10
|
+
private key;
|
|
11
|
+
get(id: string): Promise<SessionData | null>;
|
|
12
|
+
set(id: string, session: SessionData): Promise<void>;
|
|
13
|
+
delete(id: string): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var redis = require('redis');
|
|
4
|
+
|
|
5
|
+
class RedisSessionStore {
|
|
6
|
+
#client;
|
|
7
|
+
#options;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.#options = options;
|
|
10
|
+
this.#client = redis.createClient({ url: options.redisUrl });
|
|
11
|
+
this.#client.connect();
|
|
12
|
+
}
|
|
13
|
+
key(id) {
|
|
14
|
+
return `${this.#options.prefix}${id}`;
|
|
15
|
+
}
|
|
16
|
+
async get(id) {
|
|
17
|
+
const raw = await this.#client.get(this.key(id));
|
|
18
|
+
return raw ? JSON.parse(raw) : null;
|
|
19
|
+
}
|
|
20
|
+
async set(id, session) {
|
|
21
|
+
await this.#client.set(this.key(id), JSON.stringify(session), {
|
|
22
|
+
EX: this.#options.ttlSeconds,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async delete(id) {
|
|
26
|
+
await this.#client.del(this.key(id));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.RedisSessionStore = RedisSessionStore;
|
|
31
|
+
//# sourceMappingURL=redisSessionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisSessionStore.js","sources":["../../../../src/server/redisSessionStore.ts"],"sourcesContent":[null],"names":["createClient"],"mappings":";;;;MASa,iBAAiB,CAAA;AAC5B,IAAA,OAAO;AACP,IAAA,QAAQ;AAER,IAAA,WAAA,CAAY,OAAiC,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,OAAO,GAAGA,kBAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACtD,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IACxB;AAEQ,IAAA,GAAG,CAAC,EAAU,EAAA;QACpB,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAG,EAAE,CAAA,CAAE;IACvC;IAEA,MAAM,GAAG,CAAC,EAAU,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,QAAA,OAAO,GAAG,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,GAAG,IAAI;IACtD;AAEA,IAAA,MAAM,GAAG,CAAC,EAAU,EAAE,OAAoB,EAAA;AACxC,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC5D,YAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;AAC7B,SAAA,CAAC;IACJ;IAEA,MAAM,MAAM,CAAC,EAAU,EAAA;AACrB,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC;AACD;;;;"}
|
package/dist/esm/config/auth0.js
CHANGED
|
@@ -19,6 +19,7 @@ if (!defaultLocale) {
|
|
|
19
19
|
if (supportedLocales.length === 0) {
|
|
20
20
|
throw new Error('[Auth-package] SUPPORTED_LOCALES is not set');
|
|
21
21
|
}
|
|
22
|
+
const sessionDuration = 30 * 24 * 60 * 60; // 30 days
|
|
22
23
|
const auth0Config = {
|
|
23
24
|
// Endpoint where the user gets redirected to auth0 universal login
|
|
24
25
|
loginEndpoint: '/api/auth/login',
|
|
@@ -49,12 +50,14 @@ const auth0Config = {
|
|
|
49
50
|
default: defaultLocale,
|
|
50
51
|
supported: supportedLocales,
|
|
51
52
|
},
|
|
53
|
+
// Session duration
|
|
54
|
+
sessionDuration,
|
|
52
55
|
// A domain wide cross project cookie storing the sellerId the user want's to act as in the system
|
|
53
56
|
// Used for Multi-tenant accounts capable of multiple sellers
|
|
54
57
|
selectedSellerIdCookie: {
|
|
55
58
|
name: 'selectedSellerId',
|
|
56
59
|
httpOnly: true,
|
|
57
|
-
maxAge:
|
|
60
|
+
maxAge: sessionDuration,
|
|
58
61
|
secure: true,
|
|
59
62
|
sameSite: 'lax',
|
|
60
63
|
path: '/',
|
|
@@ -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;;AAEtC,IAAA,mBAAmB,EAAE,mBAAmB;;AAExC,IAAA,iBAAiB,EAAE,KAAK;;AAExB,IAAA,oBAAoB,EAAE,MAAM;;AAE5B,IAAA,gBAAgB,EAAE,EAAE;;AAEpB,IAAA,qBAAqB,EAAE,EAAE;;AAEzB,IAAA,sBAAsB,EAAE,EAAE;;AAE1B,IAAA,gBAAgB,EAAE,KAAK;;AAEvB,IAAA,sBAAsB,EAAE,KAAK;;AAE7B,IAAA,cAAc,EAAE;AACd,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,SAAS,EAAE,gBAAgB;AAC5B,KAAA;;;
|
|
1
|
+
{"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const sessionDuration = 30 * 24 * 60 * 60; // 30 Days
|
|
1
2
|
const authConfig = (args = {}) => ({
|
|
2
3
|
loginEndpoint: '/api/auth/login',
|
|
3
4
|
logoutEndpoint: '/api/auth/logout',
|
|
@@ -6,10 +7,11 @@ const authConfig = (args = {}) => ({
|
|
|
6
7
|
userProfileEndpoint: '/api/auth/me',
|
|
7
8
|
intervalDelayInMs: 10000,
|
|
8
9
|
refreshThresholdInMs: 300000,
|
|
10
|
+
sessionDuration,
|
|
9
11
|
selectedSellerIdCookie: {
|
|
10
12
|
name: 'selectedSellerId',
|
|
11
13
|
httpOnly: true,
|
|
12
|
-
maxAge:
|
|
14
|
+
maxAge: sessionDuration,
|
|
13
15
|
secure: true,
|
|
14
16
|
sameSite: 'lax',
|
|
15
17
|
path: '/',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authConfig.js","sources":["../../../../src/fixtures/authConfig.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authConfig.js","sources":["../../../../src/fixtures/authConfig.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,MAAM,UAAU,GAAG,CAAC,OAA6B,EAAE,MAAmB;AAC3E,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,cAAc,EAAE,kBAAkB;AAClC,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,gBAAgB,EAAE,oBAAoB;AACtC,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,oBAAoB,EAAE,MAAM;IAC5B,eAAe;AACf,IAAA,sBAAsB,EAAE;AACtB,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,MAAM,EAAE,eAAe;AACvB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,GAAG;AACV,KAAA;AACD,IAAA,0BAA0B,EAAE;AAC1B,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;AACnB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,GAAG;AACV,KAAA;AACD,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,qBAAqB,EAAE,cAAc;AACrC,IAAA,sBAAsB,EAAE,cAAc;AACtC,IAAA,gBAAgB,EAAE,KAAK;AACvB,IAAA,sBAAsB,EAAE,KAAK;AAC7B,IAAA,cAAc,EAAE;AACd,QAAA,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACpC,KAAA;AACD,IAAA,MAAM,EAAE,mDAAmD;AAC3D,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,eAAe,EAAE,EAAE;AACnB,IAAA,iBAAiB,EAAE,SAAS;AAC5B,IAAA,QAAQ,EAAE,iDAAiD;AAC3D,IAAA,GAAG,IAAI;AACR,CAAA;;;;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Auth0Client } from '@auth0/nextjs-auth0/server';
|
|
2
|
-
import {
|
|
2
|
+
import { RedisSessionStore } from './redisSessionStore.js';
|
|
3
3
|
import { onCallbackFactory } from './hooks/onCallbackFactory.js';
|
|
4
4
|
import { beforeSessionSavedFactory } from './hooks/beforeSessionSavedFactory.js';
|
|
5
|
+
import { getAuth0Config } from '../config/auth0.js';
|
|
5
6
|
|
|
6
7
|
const instances = {};
|
|
7
8
|
const buildInstanceKey = ({ host, isProxied, protocol, }) => {
|
|
@@ -15,7 +16,22 @@ const getAuth0Instance = ({ protocol, host, isProxied, onError, }) => {
|
|
|
15
16
|
}
|
|
16
17
|
const auth0Config = getAuth0Config({ isProxied });
|
|
17
18
|
const appBaseUrl = `${protocol}://${host}`;
|
|
19
|
+
let sessionStore;
|
|
20
|
+
if (process.env.AUTH0_CUSTOM_REDIS_URL && process.env.AUTH0_SESSION_NAME) {
|
|
21
|
+
// eslint-disable-next-line no-console
|
|
22
|
+
console.info('[Auth-package] Creating Redis Session Sore');
|
|
23
|
+
sessionStore = new RedisSessionStore({
|
|
24
|
+
prefix: `${process.env.AUTH0_SESSION_NAME}:`,
|
|
25
|
+
ttlSeconds: auth0Config.sessionDuration,
|
|
26
|
+
redisUrl: process.env.AUTH0_CUSTOM_REDIS_URL,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
console.info('[Auth-package] Using cookies to store session');
|
|
32
|
+
}
|
|
18
33
|
const newInstance = new Auth0Client({
|
|
34
|
+
sessionStore,
|
|
19
35
|
appBaseUrl,
|
|
20
36
|
routes: {
|
|
21
37
|
login: auth0Config.loginEndpoint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
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,IAAI,YAAY;AAChB,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;;AAExE,QAAA,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC;QAC1D,YAAY,GAAG,IAAI,iBAAiB,CAAC;AACnC,YAAA,MAAM,EAAE,CAAA,EAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA,CAAA,CAAG;YAC5C,UAAU,EAAE,WAAW,CAAC,eAAe;AACvC,YAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;AAC7C,SAAA,CAAC;IACJ;SAAO;;AAEL,QAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC;IAC/D;AAEA,IAAA,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,YAAY;QACZ,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,yBAAyB,EAAE,KAAK;AAChC,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;;;;"}
|
|
@@ -20,9 +20,22 @@ const isAuthRoute = (pathname, auth0Config) => {
|
|
|
20
20
|
};
|
|
21
21
|
const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, brand, }) => {
|
|
22
22
|
const { pathname } = request.nextUrl;
|
|
23
|
-
const auth0Instance = getAuth0Instance({
|
|
23
|
+
const auth0Instance = getAuth0Instance({
|
|
24
|
+
host,
|
|
25
|
+
protocol,
|
|
26
|
+
isProxied,
|
|
27
|
+
});
|
|
24
28
|
const auth0Config = getAuth0Config({ isProxied });
|
|
25
29
|
const isAuthErrorRoute = pathname.endsWith(auth0Config.globalAuthErrorPath);
|
|
30
|
+
// eslint-disable-next-line no-console
|
|
31
|
+
console.log('[auth middleware]', {
|
|
32
|
+
path: pathname,
|
|
33
|
+
host,
|
|
34
|
+
isProxied,
|
|
35
|
+
isProtectedRoute: isProtectedRoute(pathname),
|
|
36
|
+
isAuthRoute: isAuthRoute(pathname, auth0Config),
|
|
37
|
+
isAuthErrorRoute,
|
|
38
|
+
});
|
|
26
39
|
const crossDomainLogoutResult = handleCrossDomainLogout({
|
|
27
40
|
host,
|
|
28
41
|
protocol,
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protectRoute.js","sources":["../../../../../src/server/middleware/protectRoute.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAUA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAkB;IACjB,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;MAEY,YAAY,GAAG,OAAO,EACjC,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,GASR,KAAkC;IACjC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;IAEpD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AAClC,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;AAC3B,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;AACF,QAAA,MAAM,6BAA6B,CAAC;YAClC,OAAO;YACP,QAAQ;YACR,aAAa;AACd,SAAA,CAAC;IACJ;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,SAAS,GAAG,KAAiB;AACnC,QAAA,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"protectRoute.js","sources":["../../../../../src/server/middleware/protectRoute.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAUA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAkB;IACjB,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;MAEY,YAAY,GAAG,OAAO,EACjC,WAAW,EACX,aAAa,EACb,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,OAAO,GASR,KAAkC;IACjC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;IAEpD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AAClC,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,IAAI,CAAC,OAAO,IAAI,WAAW,EAAE;AAC3B,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;AACF,QAAA,MAAM,6BAA6B,CAAC;YAClC,OAAO;YACP,QAAQ;YACR,aAAa;AACd,SAAA,CAAC;IACJ;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;AACF;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SessionData, SessionDataStore } from '@auth0/nextjs-auth0/types';
|
|
2
|
+
type RedisSessionStoreOptions = {
|
|
3
|
+
prefix: string;
|
|
4
|
+
ttlSeconds: number;
|
|
5
|
+
redisUrl: string;
|
|
6
|
+
};
|
|
7
|
+
export declare class RedisSessionStore implements SessionDataStore {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(options: RedisSessionStoreOptions);
|
|
10
|
+
private key;
|
|
11
|
+
get(id: string): Promise<SessionData | null>;
|
|
12
|
+
set(id: string, session: SessionData): Promise<void>;
|
|
13
|
+
delete(id: string): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createClient } from 'redis';
|
|
2
|
+
|
|
3
|
+
class RedisSessionStore {
|
|
4
|
+
#client;
|
|
5
|
+
#options;
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.#options = options;
|
|
8
|
+
this.#client = createClient({ url: options.redisUrl });
|
|
9
|
+
this.#client.connect();
|
|
10
|
+
}
|
|
11
|
+
key(id) {
|
|
12
|
+
return `${this.#options.prefix}${id}`;
|
|
13
|
+
}
|
|
14
|
+
async get(id) {
|
|
15
|
+
const raw = await this.#client.get(this.key(id));
|
|
16
|
+
return raw ? JSON.parse(raw) : null;
|
|
17
|
+
}
|
|
18
|
+
async set(id, session) {
|
|
19
|
+
await this.#client.set(this.key(id), JSON.stringify(session), {
|
|
20
|
+
EX: this.#options.ttlSeconds,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async delete(id) {
|
|
24
|
+
await this.#client.del(this.key(id));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { RedisSessionStore };
|
|
29
|
+
//# sourceMappingURL=redisSessionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redisSessionStore.js","sources":["../../../../src/server/redisSessionStore.ts"],"sourcesContent":[null],"names":[],"mappings":";;MASa,iBAAiB,CAAA;AAC5B,IAAA,OAAO;AACP,IAAA,QAAQ;AAER,IAAA,WAAA,CAAY,OAAiC,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACtD,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IACxB;AAEQ,IAAA,GAAG,CAAC,EAAU,EAAA;QACpB,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA,EAAG,EAAE,CAAA,CAAE;IACvC;IAEA,MAAM,GAAG,CAAC,EAAU,EAAA;AAClB,QAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,QAAA,OAAO,GAAG,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,GAAG,IAAI;IACtD;AAEA,IAAA,MAAM,GAAG,CAAC,EAAU,EAAE,OAAoB,EAAA;AACxC,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC5D,YAAA,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;AAC7B,SAAA,CAAC;IACJ;IAEA,MAAM,MAAM,CAAC,EAAU,EAAA;AACrB,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC;AACD;;;;"}
|
package/dist/fixtures.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as Auth0Config, E as EnrichedSessionUser, c as Entitlements } from './sessionUser-
|
|
1
|
+
import { A as Auth0Config, E as EnrichedSessionUser, c as Entitlements } from './sessionUser-Wd3XUk39.js';
|
|
2
2
|
import '@smg-automotive/i18n-pkg';
|
|
3
3
|
|
|
4
4
|
declare const authConfig: (args?: Partial<Auth0Config>) => Auth0Config;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { A as AuthProvider, a as AuthProviderProps } from './Auth-
|
|
2
|
-
import { A as Auth0Config, E as EnrichedSessionUser } from './sessionUser-
|
|
3
|
-
export { b as Auth0User, a as Auth0UserType, I as IncompleteSessionUser, S as SessionUser } from './sessionUser-
|
|
1
|
+
export { A as AuthProvider, a as AuthProviderProps } from './Auth-KOmvnSHJ.js';
|
|
2
|
+
import { A as Auth0Config, E as EnrichedSessionUser } from './sessionUser-Wd3XUk39.js';
|
|
3
|
+
export { b as Auth0User, a as Auth0UserType, I as IncompleteSessionUser, S as SessionUser } from './sessionUser-Wd3XUk39.js';
|
|
4
4
|
import { Language } from '@smg-automotive/i18n-pkg';
|
|
5
5
|
import 'react';
|
|
6
6
|
|
package/dist/server.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import { NextRequest, NextResponse } from 'next/server';
|
|
|
2
2
|
import { Language } from '@smg-automotive/i18n-pkg';
|
|
3
3
|
import { NextApiRequest, NextApiResponse } from 'next';
|
|
4
4
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
5
|
-
import { a as AuthProviderProps } from './Auth-
|
|
6
|
-
import { S as SessionUser } from './sessionUser-
|
|
5
|
+
import { a as AuthProviderProps } from './Auth-KOmvnSHJ.js';
|
|
6
|
+
import { S as SessionUser } from './sessionUser-Wd3XUk39.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
|
|
9
9
|
declare enum Brand {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smg-automotive/auth",
|
|
3
|
-
"version": "7.1.0-auth0-update-tweaks.
|
|
3
|
+
"version": "7.1.0-auth0-update-tweaks.6",
|
|
4
4
|
"description": "SMG Automotive auth package",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -92,7 +92,8 @@
|
|
|
92
92
|
"@auth0/nextjs-auth0": "4.9.0",
|
|
93
93
|
"@smg-automotive/api-client-pkg": "4.5.0",
|
|
94
94
|
"@smg-automotive/i18n-pkg": "2.0.0",
|
|
95
|
-
"jose": "6.1.0"
|
|
95
|
+
"jose": "6.1.0",
|
|
96
|
+
"redis": "5.8.2"
|
|
96
97
|
},
|
|
97
98
|
"peerDependencies": {
|
|
98
99
|
"next": "^15.0.0",
|