@smg-automotive/auth 7.1.0-auth0-update-root.3 → 7.1.0-auth0-debug.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.
@@ -10,6 +10,8 @@ const buildInstanceKey = ({ host, protocol }) => {
10
10
  return `${protocol}-${host}`;
11
11
  };
12
12
  const getAuth0Instance = ({ protocol, host, onError, }) => {
13
+ // eslint-disable-next-line no-console
14
+ console.info({ host, protocol, method: 'getAuth0Instance' });
13
15
  const key = buildInstanceKey({ host, protocol });
14
16
  const instance = instances[key];
15
17
  if (instance) {
@@ -1 +1 @@
1
- {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","Auth0Client","beforeSessionSavedFactory","onCallbackFactory"],"mappings":";;;;;;;AAQA,MAAM,SAAS,GAAmB,EAAE;AAOpC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2B,KAAI;AACvE,IAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,EAAE;AAC9B,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,OAAO,GAGR,KAAiB;IAChB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChD,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,MAAM,WAAW,GAAGA,oBAAc,EAAE;AACpC,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;;;;;;;;;;;;;;AAe1C,IAAA,MAAM,WAAW,GAAG,IAAIC,kBAAW,CAAC;;QAElC,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;;;;"}
1
+ {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","Auth0Client","beforeSessionSavedFactory","onCallbackFactory"],"mappings":";;;;;;;AAQA,MAAM,SAAS,GAAmB,EAAE;AAOpC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2B,KAAI;AACvE,IAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,EAAE;AAC9B,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,OAAO,GAGR,KAAiB;;AAEhB,IAAA,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChD,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,MAAM,WAAW,GAAGA,oBAAc,EAAE;AACpC,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;;;;;;;;;;;;;;AAe1C,IAAA,MAAM,WAAW,GAAG,IAAIC,kBAAW,CAAC;;QAElC,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;;;;"}
@@ -60,6 +60,7 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
60
60
  }
61
61
  const handleUserProfileResult = await profile.handleUserProfile({
62
62
  request,
63
+ response: authResponse,
63
64
  auth0Instance,
64
65
  auth0Config,
65
66
  brand,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParams","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;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,GASN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;IACpC,MAAM,aAAa,GAAGA,iCAAgB,CAAC;QACrC,IAAI;QACJ,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,MAAM,WAAW,GAAGC,oBAAc,EAAE;IACpC,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;AAEA,IAAAC,oBAAc,CAAC;QACb,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAAC,kCAA2B,CAAC;QAC1B,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAG,MAAMC,8BAAwB,CAAC;QAC9D,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,OAAO;AACR,KAAA,CAAC;IACF,IAAI,wBAAwB,EAAE;AAC5B,QAAA,OAAO,wBAAwB;IACjC;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;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/server/middleware/index.ts"],"sourcesContent":[null],"names":["getAuth0Instance","getAuth0Config","handleCrossDomainLogout","addLoginParams","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;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,GASN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;IACpC,MAAM,aAAa,GAAGA,iCAAgB,CAAC;QACrC,IAAI;QACJ,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,MAAM,WAAW,GAAGC,oBAAc,EAAE;IACpC,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;AAEA,IAAAC,oBAAc,CAAC;QACb,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAAC,kCAA2B,CAAC;QAC1B,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAG,MAAMC,8BAAwB,CAAC;QAC9D,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,OAAO;AACR,KAAA,CAAC;IACF,IAAI,wBAAwB,EAAE;AAC5B,QAAA,OAAO,wBAAwB;IACjC;AAEA,IAAA,MAAM,uBAAuB,GAAG,MAAMC,yBAAiB,CAAC;QACtD,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,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;;;;"}
@@ -2,8 +2,9 @@ import { NextRequest, NextResponse } from 'next/server';
2
2
  import { Auth0Client } from '@auth0/nextjs-auth0/server';
3
3
  import { Brand } from 'src/types/brand';
4
4
  import { Auth0Config } from 'src/types';
5
- export declare const handleUserProfile: ({ request, auth0Instance, auth0Config, brand, }: {
5
+ export declare const handleUserProfile: ({ request, response, auth0Instance, auth0Config, brand, }: {
6
6
  request: NextRequest;
7
+ response: NextResponse;
7
8
  auth0Instance: Auth0Client;
8
9
  auth0Config: Auth0Config;
9
10
  brand: Brand;
@@ -2,25 +2,49 @@
2
2
 
3
3
  var server = require('next/server');
4
4
  var session = require('../../lib/enrichUser/session.js');
5
+ var proactivelyRefreshAccessToken = require('./proactivelyRefreshAccessToken.js');
5
6
  var addCachingHeaders = require('./addCachingHeaders.js');
6
7
 
7
- const handleUserProfile = async ({ request, auth0Instance, auth0Config, brand, }) => {
8
+ const noUserResponse = new server.NextResponse(null, {
9
+ status: 204,
10
+ headers: {
11
+ Vary: 'Cookie, Authorization',
12
+ 'Cache-Control': 'private, no-cache, no-store, must-revalidate, max-age=0',
13
+ Pragma: 'no-cache',
14
+ Expires: '0',
15
+ },
16
+ });
17
+ const handleUserProfile = async ({ request, response, auth0Instance, auth0Config, brand, }) => {
8
18
  if (request.nextUrl.pathname === auth0Config.userProfileEndpoint) {
9
19
  const session$1 = await auth0Instance.getSession(request);
10
20
  if (!session$1) {
11
- return new server.NextResponse(null, {
12
- status: 401,
21
+ return noUserResponse;
22
+ }
23
+ try {
24
+ const { token } = await proactivelyRefreshAccessToken.proactivelyRefreshAccessToken({
25
+ request,
26
+ response,
27
+ auth0Instance,
28
+ auth0Config,
29
+ });
30
+ const user = session$1.user;
31
+ const enrichedUser = await session.enrichUser({
32
+ user,
33
+ accessToken: token,
34
+ brand,
35
+ });
36
+ const userResponse = server.NextResponse.json(enrichedUser);
37
+ addCachingHeaders.addCachingHeaders(userResponse);
38
+ return userResponse;
39
+ }
40
+ catch (error) {
41
+ // eslint-disable-next-line no-console
42
+ console.error({
43
+ info: 'failed to enrich user in the middleware (/profile)',
44
+ error,
13
45
  });
46
+ return noUserResponse;
14
47
  }
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
48
  }
25
49
  };
26
50
 
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"profile.js","sources":["../../../../../src/server/middleware/profile.ts"],"sourcesContent":[null],"names":["NextResponse","session","proactivelyRefreshAccessToken","enrichUser","addCachingHeaders"],"mappings":";;;;;;;AAUA,MAAM,cAAc,GAAG,IAAIA,mBAAY,CAAC,IAAI,EAAE;AAC5C,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,eAAe,EAAE,yDAAyD;AAC1E,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,OAAO,EAAE,GAAG;AACb,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,iBAAiB,GAAG,OAAO,EACtC,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,KAAK,GAON,KAAkC;IACjC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,mBAAmB,EAAE;QAChE,MAAMC,SAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;QAEvD,IAAI,CAACA,SAAO,EAAE;AACZ,YAAA,OAAO,cAAc;QACvB;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAMC,2DAA6B,CAAC;gBACpD,OAAO;gBACP,QAAQ;gBACR,aAAa;gBACb,WAAW;AACZ,aAAA,CAAC;AAEF,YAAA,MAAM,IAAI,GAAGD,SAAO,CAAC,IAAmB;AAExC,YAAA,MAAM,YAAY,GAAG,MAAME,kBAAU,CAAC;gBACpC,IAAI;AACJ,gBAAA,WAAW,EAAE,KAAK;gBAClB,KAAK;AACN,aAAA,CAAC;YAEF,MAAM,YAAY,GAAGH,mBAAY,CAAC,IAAI,CAAC,YAAY,CAAC;YACpDI,mCAAiB,CAAC,YAAY,CAAC;AAC/B,YAAA,OAAO,YAAY;QACrB;QAAE,OAAO,KAAK,EAAE;;YAEd,OAAO,CAAC,KAAK,CAAC;AACZ,gBAAA,IAAI,EAAE,oDAAoD;gBAC1D,KAAK;AACN,aAAA,CAAC;AACF,YAAA,OAAO,cAAc;QACvB;IACF;AACF;;;;"}
@@ -8,6 +8,8 @@ const buildInstanceKey = ({ host, protocol }) => {
8
8
  return `${protocol}-${host}`;
9
9
  };
10
10
  const getAuth0Instance = ({ protocol, host, onError, }) => {
11
+ // eslint-disable-next-line no-console
12
+ console.info({ host, protocol, method: 'getAuth0Instance' });
11
13
  const key = buildInstanceKey({ host, protocol });
12
14
  const instance = instances[key];
13
15
  if (instance) {
@@ -1 +1 @@
1
- {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA,MAAM,SAAS,GAAmB,EAAE;AAOpC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2B,KAAI;AACvE,IAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,EAAE;AAC9B,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,OAAO,GAGR,KAAiB;IAChB,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChD,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;AACpC,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;;;;;;;;;;;;;;AAe1C,IAAA,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;;QAElC,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;;;;"}
1
+ {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA,MAAM,SAAS,GAAmB,EAAE;AAOpC,MAAM,gBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAA2B,KAAI;AACvE,IAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,EAAE;AAC9B,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,OAAO,GAGR,KAAiB;;AAEhB,IAAA,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC5D,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChD,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;AACpC,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;;;;;;;;;;;;;;AAe1C,IAAA,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;;QAElC,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;;;;"}
@@ -58,6 +58,7 @@ const authMiddleware = async ({ request, isProtectedRoute, language, host, proto
58
58
  }
59
59
  const handleUserProfileResult = await handleUserProfile({
60
60
  request,
61
+ response: authResponse,
61
62
  auth0Instance,
62
63
  auth0Config,
63
64
  brand,
@@ -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;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,GASN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;IACpC,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACrC,IAAI;QACJ,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;IACpC,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;AAEA,IAAA,cAAc,CAAC;QACb,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAA,2BAA2B,CAAC;QAC1B,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAG,MAAM,wBAAwB,CAAC;QAC9D,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,OAAO;AACR,KAAA,CAAC;IACF,IAAI,wBAAwB,EAAE;AAC5B,QAAA,OAAO,wBAAwB;IACjC;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;;;;"}
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;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,GASN,KAA2B;AAC1B,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO;IACpC,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACrC,IAAI;QACJ,QAAQ;AACT,KAAA,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,cAAc,EAAE;IACpC,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;AAEA,IAAA,cAAc,CAAC;QACb,OAAO;QACP,WAAW;AACZ,KAAA,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAA,2BAA2B,CAAC;QAC1B,IAAI;QACJ,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,WAAW;AACZ,KAAA,CAAC;AAEF,IAAA,MAAM,wBAAwB,GAAG,MAAM,wBAAwB,CAAC;QAC9D,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,WAAW;QACX,OAAO;AACR,KAAA,CAAC;IACF,IAAI,wBAAwB,EAAE;AAC5B,QAAA,OAAO,wBAAwB;IACjC;AAEA,IAAA,MAAM,uBAAuB,GAAG,MAAM,iBAAiB,CAAC;QACtD,OAAO;AACP,QAAA,QAAQ,EAAE,YAAY;QACtB,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;;;;"}
@@ -2,8 +2,9 @@ import { NextRequest, NextResponse } from 'next/server';
2
2
  import { Auth0Client } from '@auth0/nextjs-auth0/server';
3
3
  import { Brand } from 'src/types/brand';
4
4
  import { Auth0Config } from 'src/types';
5
- export declare const handleUserProfile: ({ request, auth0Instance, auth0Config, brand, }: {
5
+ export declare const handleUserProfile: ({ request, response, auth0Instance, auth0Config, brand, }: {
6
6
  request: NextRequest;
7
+ response: NextResponse;
7
8
  auth0Instance: Auth0Client;
8
9
  auth0Config: Auth0Config;
9
10
  brand: Brand;
@@ -1,24 +1,48 @@
1
1
  import { NextResponse } from 'next/server';
2
2
  import { enrichUser } from '../../lib/enrichUser/session.js';
3
+ import { proactivelyRefreshAccessToken } from './proactivelyRefreshAccessToken.js';
3
4
  import { addCachingHeaders } from './addCachingHeaders.js';
4
5
 
5
- const handleUserProfile = async ({ request, auth0Instance, auth0Config, brand, }) => {
6
+ const noUserResponse = new NextResponse(null, {
7
+ status: 204,
8
+ headers: {
9
+ Vary: 'Cookie, Authorization',
10
+ 'Cache-Control': 'private, no-cache, no-store, must-revalidate, max-age=0',
11
+ Pragma: 'no-cache',
12
+ Expires: '0',
13
+ },
14
+ });
15
+ const handleUserProfile = async ({ request, response, auth0Instance, auth0Config, brand, }) => {
6
16
  if (request.nextUrl.pathname === auth0Config.userProfileEndpoint) {
7
17
  const session = await auth0Instance.getSession(request);
8
18
  if (!session) {
9
- return new NextResponse(null, {
10
- status: 401,
19
+ return noUserResponse;
20
+ }
21
+ try {
22
+ const { token } = await proactivelyRefreshAccessToken({
23
+ request,
24
+ response,
25
+ auth0Instance,
26
+ auth0Config,
27
+ });
28
+ const user = session.user;
29
+ const enrichedUser = await enrichUser({
30
+ user,
31
+ accessToken: token,
32
+ brand,
33
+ });
34
+ const userResponse = NextResponse.json(enrichedUser);
35
+ addCachingHeaders(userResponse);
36
+ return userResponse;
37
+ }
38
+ catch (error) {
39
+ // eslint-disable-next-line no-console
40
+ console.error({
41
+ info: 'failed to enrich user in the middleware (/profile)',
42
+ error,
11
43
  });
44
+ return noUserResponse;
12
45
  }
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
46
  }
23
47
  };
24
48
 
@@ -1 +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;;;;"}
1
+ {"version":3,"file":"profile.js","sources":["../../../../../src/server/middleware/profile.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAUA,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE;AAC5C,IAAA,MAAM,EAAE,GAAG;AACX,IAAA,OAAO,EAAE;AACP,QAAA,IAAI,EAAE,uBAAuB;AAC7B,QAAA,eAAe,EAAE,yDAAyD;AAC1E,QAAA,MAAM,EAAE,UAAU;AAClB,QAAA,OAAO,EAAE,GAAG;AACb,KAAA;AACF,CAAA,CAAC;AAEK,MAAM,iBAAiB,GAAG,OAAO,EACtC,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,KAAK,GAON,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,cAAc;QACvB;AAEA,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,6BAA6B,CAAC;gBACpD,OAAO;gBACP,QAAQ;gBACR,aAAa;gBACb,WAAW;AACZ,aAAA,CAAC;AAEF,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAmB;AAExC,YAAA,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC;gBACpC,IAAI;AACJ,gBAAA,WAAW,EAAE,KAAK;gBAClB,KAAK;AACN,aAAA,CAAC;YAEF,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;YACpD,iBAAiB,CAAC,YAAY,CAAC;AAC/B,YAAA,OAAO,YAAY;QACrB;QAAE,OAAO,KAAK,EAAE;;YAEd,OAAO,CAAC,KAAK,CAAC;AACZ,gBAAA,IAAI,EAAE,oDAAoD;gBAC1D,KAAK;AACN,aAAA,CAAC;AACF,YAAA,OAAO,cAAc;QACvB;IACF;AACF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smg-automotive/auth",
3
- "version": "7.1.0-auth0-update-root.3",
3
+ "version": "7.1.0-auth0-debug.1",
4
4
  "description": "SMG Automotive auth package",
5
5
  "exports": {
6
6
  ".": {