@frontegg/nextjs 9.2.9 → 9.2.10
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/CHANGELOG.md +6 -0
- package/api/index.d.ts +1 -1
- package/api/index.js +5 -5
- package/api/index.js.map +1 -1
- package/edge/shouldBypassMiddleware.js +6 -2
- package/edge/shouldBypassMiddleware.js.map +1 -1
- package/index.js +1 -1
- package/package.json +3 -3
- package/pages/withFronteggApp/shouldBypassGetInitialProps.d.ts +15 -0
- package/pages/withFronteggApp/shouldBypassGetInitialProps.js +58 -0
- package/pages/withFronteggApp/shouldBypassGetInitialProps.js.map +1 -0
- package/pages/withFronteggApp/withFronteggApp.js +18 -5
- package/pages/withFronteggApp/withFronteggApp.js.map +1 -1
- package/sdkVersion.js +1 -1
- package/sdkVersion.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## [9.2.10](https://github.com/frontegg/frontegg-nextjs/compare/v9.2.9...v9.2.10) (2025-10-19)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### NextJS Wrapper 9.2.10:
|
|
7
|
+
- FR-22407 - Fix bypass rules for will-known routes and getInitialProps for pages architecture
|
|
8
|
+
|
|
3
9
|
## [9.2.9](https://github.com/frontegg/frontegg-nextjs/compare/v9.2.8...v9.2.9) (2025-8-7)
|
|
4
10
|
|
|
5
11
|
|
package/api/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare const getPublicSettings: (headers: Record<string, string>) => Pro
|
|
|
28
28
|
declare const _default: {
|
|
29
29
|
loadPublicKey: () => Promise<any>;
|
|
30
30
|
refreshTokenEmbedded: (headers: Record<string, string>) => Promise<Response>;
|
|
31
|
-
refreshTokenHostedLogin: (headers: Record<string, string>,
|
|
31
|
+
refreshTokenHostedLogin: (headers: Record<string, string>, refreshToken: string, clientId?: string | undefined, clientSecret?: string | undefined) => Promise<Response>;
|
|
32
32
|
getMe: (headers: Record<string, string>) => Promise<ILoginResponse | undefined>;
|
|
33
33
|
getTenants: (headers: Record<string, string>) => Promise<GetCurrentUserTenantsResponse | undefined>;
|
|
34
34
|
getPublicSettings: (headers: Record<string, string>) => Promise<IPublicSettingsResponse | undefined>;
|
package/api/index.js
CHANGED
|
@@ -37,13 +37,13 @@ const refreshTokenEmbedded = async headers => {
|
|
|
37
37
|
* Send HTTP post request for Frontegg services to refresh `hosted login` token
|
|
38
38
|
* by providing client's fe_ as body with grant_type.
|
|
39
39
|
*/
|
|
40
|
-
const refreshTokenHostedLogin = async (headers,
|
|
40
|
+
const refreshTokenHostedLogin = async (headers, refreshToken, clientId, clientSecret) => {
|
|
41
41
|
return (0, _utils.Post)({
|
|
42
42
|
url: `${_config.default.baseUrl}${_urls.CommonUrls.refreshToken.hosted}`,
|
|
43
43
|
body: JSON.stringify({
|
|
44
44
|
grant_type: 'refresh_token',
|
|
45
|
-
refresh_token,
|
|
46
|
-
client_id:
|
|
45
|
+
refresh_token: refreshToken,
|
|
46
|
+
client_id: clientId,
|
|
47
47
|
client_secret: clientSecret
|
|
48
48
|
}),
|
|
49
49
|
headers: (0, _utils.buildRequestHeaders)(headers)
|
|
@@ -116,7 +116,7 @@ const getTenants = async headers => {
|
|
|
116
116
|
exports.getTenants = getTenants;
|
|
117
117
|
const getMeAuthorization = async headers => {
|
|
118
118
|
const res = await (0, _utils.Get)({
|
|
119
|
-
//TODO: replace this with rest/api route
|
|
119
|
+
// TODO: replace this with rest/api route
|
|
120
120
|
url: `${_config.default.baseUrl}/frontegg/identity/resources/users/v1/me/authorization`,
|
|
121
121
|
headers: (0, _utils.buildRequestHeaders)(headers)
|
|
122
122
|
});
|
|
@@ -125,7 +125,7 @@ const getMeAuthorization = async headers => {
|
|
|
125
125
|
exports.getMeAuthorization = getMeAuthorization;
|
|
126
126
|
const getPublicSettings = async headers => {
|
|
127
127
|
const res = await (0, _utils.Get)({
|
|
128
|
-
//TODO: export the route url from rest-api and import from there
|
|
128
|
+
// TODO: export the route url from rest-api and import from there
|
|
129
129
|
url: `${_config.default.baseUrl}/frontegg/tenants/resources/account-settings/v1/public`,
|
|
130
130
|
headers: (0, _utils.buildRequestHeaders)(headers)
|
|
131
131
|
});
|
package/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_config","_interopRequireDefault","require","_utils","_restApi","_urls","loadPublicKey","response","fetch","config","baseUrl","CommonUrls","WellKnown","jwks","cache","data","json","keys","refreshTokenEmbedded","headers","Post","url","refreshToken","embedded","body","credentials","buildRequestHeaders","refreshTokenHostedLogin","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_config","_interopRequireDefault","require","_utils","_restApi","_urls","loadPublicKey","response","fetch","config","baseUrl","CommonUrls","WellKnown","jwks","cache","data","json","keys","refreshTokenEmbedded","headers","Post","url","refreshToken","embedded","body","credentials","buildRequestHeaders","refreshTokenHostedLogin","clientId","clientSecret","hosted","JSON","stringify","grant_type","refresh_token","client_id","client_secret","exchangeHostedLoginToken","code","cliendId","redirect_uri","appUrl","exports","getMe","headersToSend","res","Get","fronteggUsersUrl","parseHttpResponse","getEntitlements","fronteggEntitlementsV2Url","getTenants","fronteggTenantsV3Url","getMeAuthorization","getPublicSettings","_default","default"],"sources":["../../../../packages/nextjs/src/api/index.ts"],"sourcesContent":["import config from '../config';\nimport { buildRequestHeaders, Get, parseHttpResponse, Post } from './utils';\nimport {\n fronteggTenantsV3Url,\n fronteggUsersUrl,\n ILoginResponse,\n GetCurrentUserTenantsResponse,\n IPublicSettingsResponse,\n IGetUserAuthorizationResponse,\n fronteggEntitlementsV2Url,\n} from '@frontegg/rest-api';\n\nimport { UserEntitlementsResponseV2 } from '@frontegg/types';\nimport { CommonUrls } from '../utils/common/urls';\n\n/**\n * Send HTTP GET to frontegg domain public route to download the JWT public key\n */\nconst loadPublicKey = async () => {\n const response = await fetch(`${config.baseUrl}${CommonUrls.WellKnown.jwks}`, {\n cache: 'force-cache',\n });\n const data = await response.json();\n return data.keys[0];\n};\n\n/**\n * Send HTTP post-request for Frontegg services to refresh token\n * by providing client's fe_ cookies\n */\nconst refreshTokenEmbedded = async (headers: Record<string, string>) => {\n return Post({\n url: `${config.baseUrl}${CommonUrls.refreshToken.embedded}`,\n body: '{}',\n credentials: 'include',\n headers: buildRequestHeaders(headers),\n });\n};\n\n/**\n * Send HTTP post request for Frontegg services to refresh `hosted login` token\n * by providing client's fe_ as body with grant_type.\n */\nconst refreshTokenHostedLogin = async (\n headers: Record<string, string>,\n refreshToken: string,\n clientId?: string,\n clientSecret?: string\n) => {\n return Post({\n url: `${config.baseUrl}${CommonUrls.refreshToken.hosted}`,\n body: JSON.stringify({\n grant_type: 'refresh_token',\n refresh_token: refreshToken,\n client_id: clientId,\n client_secret: clientSecret,\n }),\n headers: buildRequestHeaders(headers),\n });\n};\n\n/**\n * Send HTTP post request for Frontegg services to exchange `hosted login` callback code\n */\nexport const exchangeHostedLoginToken = async (\n headers: Record<string, string>,\n code: string,\n cliendId: string,\n clientSecret: string\n) => {\n return Post({\n url: `${config.baseUrl}${CommonUrls.refreshToken.hosted}`,\n body: JSON.stringify({\n redirect_uri: `${config.appUrl}/oauth/callback`,\n grant_type: 'authorization_code',\n code,\n client_id: cliendId,\n client_secret: clientSecret,\n // code_verifier\n }),\n headers: buildRequestHeaders(headers),\n });\n};\n\n/**\n *\n * @param headers\n */\nexport const getMe = async (headers: Record<string, string>): Promise<ILoginResponse | undefined> => {\n const headersToSend = buildRequestHeaders(headers);\n const res = await Get({\n url: `${config.baseUrl}/frontegg${fronteggUsersUrl}`,\n headers: headersToSend,\n });\n return parseHttpResponse(res);\n};\n\n/**\n *\n * @param headers\n */\nexport const getEntitlements = async (\n headers: Record<string, string>\n): Promise<UserEntitlementsResponseV2 | undefined> => {\n const headersToSend = buildRequestHeaders(headers);\n const res = await Get({\n url: `${config.baseUrl}${fronteggEntitlementsV2Url}`,\n headers: headersToSend,\n });\n return parseHttpResponse(res);\n};\n\n/**\n *\n * @param headers\n */\nexport const getTenants = async (\n headers: Record<string, string>\n): Promise<GetCurrentUserTenantsResponse | undefined> => {\n const res = await Get({\n url: `${config.baseUrl}/frontegg${fronteggTenantsV3Url}`,\n headers: buildRequestHeaders(headers),\n });\n return parseHttpResponse(res);\n};\n\n/**\n *\n * @param headers\n */\nexport const getMeAuthorization = async (\n headers: Record<string, string>\n): Promise<IGetUserAuthorizationResponse | undefined> => {\n const res = await Get({\n // TODO: replace this with rest/api route\n url: `${config.baseUrl}/frontegg/identity/resources/users/v1/me/authorization`,\n headers: buildRequestHeaders(headers),\n });\n return parseHttpResponse(res);\n};\n\nexport const getPublicSettings = async (\n headers: Record<string, string>\n): Promise<IPublicSettingsResponse | undefined> => {\n const res = await Get({\n // TODO: export the route url from rest-api and import from there\n url: `${config.baseUrl}/frontegg/tenants/resources/account-settings/v1/public`,\n headers: buildRequestHeaders(headers),\n });\n return parseHttpResponse(res);\n};\n\nexport default {\n loadPublicKey,\n refreshTokenEmbedded,\n refreshTokenHostedLogin,\n getMe,\n getTenants,\n getPublicSettings,\n getEntitlements,\n exchangeHostedLoginToken,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAWA,IAAAG,KAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA,MAAMI,aAAa,GAAG,MAAAA,CAAA,KAAY;EAChC,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGC,eAAM,CAACC,OAAO,GAAGC,gBAAU,CAACC,SAAS,CAACC,IAAI,EAAE,EAAE;IAC5EC,KAAK,EAAE;EACT,CAAC,CAAC;EACF,MAAMC,IAAI,GAAG,MAAMR,QAAQ,CAACS,IAAI,CAAC,CAAC;EAClC,OAAOD,IAAI,CAACE,IAAI,CAAC,CAAC,CAAC;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAG,MAAOC,OAA+B,IAAK;EACtE,OAAO,IAAAC,WAAI,EAAC;IACVC,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,GAAGC,gBAAU,CAACW,YAAY,CAACC,QAAQ,EAAE;IAC3DC,IAAI,EAAE,IAAI;IACVC,WAAW,EAAE,SAAS;IACtBN,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMQ,uBAAuB,GAAG,MAAAA,CAC9BR,OAA+B,EAC/BG,YAAoB,EACpBM,QAAiB,EACjBC,YAAqB,KAClB;EACH,OAAO,IAAAT,WAAI,EAAC;IACVC,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,GAAGC,gBAAU,CAACW,YAAY,CAACQ,MAAM,EAAE;IACzDN,IAAI,EAAEO,IAAI,CAACC,SAAS,CAAC;MACnBC,UAAU,EAAE,eAAe;MAC3BC,aAAa,EAAEZ,YAAY;MAC3Ba,SAAS,EAAEP,QAAQ;MACnBQ,aAAa,EAAEP;IACjB,CAAC,CAAC;IACFV,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACO,MAAMkB,wBAAwB,GAAG,MAAAA,CACtClB,OAA+B,EAC/BmB,IAAY,EACZC,QAAgB,EAChBV,YAAoB,KACjB;EACH,OAAO,IAAAT,WAAI,EAAC;IACVC,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,GAAGC,gBAAU,CAACW,YAAY,CAACQ,MAAM,EAAE;IACzDN,IAAI,EAAEO,IAAI,CAACC,SAAS,CAAC;MACnBQ,YAAY,EAAE,GAAG/B,eAAM,CAACgC,MAAM,iBAAiB;MAC/CR,UAAU,EAAE,oBAAoB;MAChCK,IAAI;MACJH,SAAS,EAAEI,QAAQ;MACnBH,aAAa,EAAEP;MACf;IACF,CAAC,CAAC;IACFV,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AAHAuB,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAIO,MAAMM,KAAK,GAAG,MAAOxB,OAA+B,IAA0C;EACnG,MAAMyB,aAAa,GAAG,IAAAlB,0BAAmB,EAACP,OAAO,CAAC;EAClD,MAAM0B,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpBzB,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,YAAYqC,yBAAgB,EAAE;IACpD5B,OAAO,EAAEyB;EACX,CAAC,CAAC;EACF,OAAO,IAAAI,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AAHAH,OAAA,CAAAC,KAAA,GAAAA,KAAA;AAIO,MAAMM,eAAe,GAAG,MAC7B9B,OAA+B,IACqB;EACpD,MAAMyB,aAAa,GAAG,IAAAlB,0BAAmB,EAACP,OAAO,CAAC;EAClD,MAAM0B,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpBzB,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,GAAGwC,kCAAyB,EAAE;IACpD/B,OAAO,EAAEyB;EACX,CAAC,CAAC;EACF,OAAO,IAAAI,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AAHAH,OAAA,CAAAO,eAAA,GAAAA,eAAA;AAIO,MAAME,UAAU,GAAG,MACxBhC,OAA+B,IACwB;EACvD,MAAM0B,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpBzB,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,YAAY0C,6BAAoB,EAAE;IACxDjC,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;EACF,OAAO,IAAA6B,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AAHAH,OAAA,CAAAS,UAAA,GAAAA,UAAA;AAIO,MAAME,kBAAkB,GAAG,MAChClC,OAA+B,IACwB;EACvD,MAAM0B,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpB;IACAzB,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,wDAAwD;IAC9ES,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;EACF,OAAO,IAAA6B,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;AAACH,OAAA,CAAAW,kBAAA,GAAAA,kBAAA;AAEK,MAAMC,iBAAiB,GAAG,MAC/BnC,OAA+B,IACkB;EACjD,MAAM0B,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpB;IACAzB,GAAG,EAAE,GAAGZ,eAAM,CAACC,OAAO,wDAAwD;IAC9ES,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;EACF,OAAO,IAAA6B,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;AAACH,OAAA,CAAAY,iBAAA,GAAAA,iBAAA;AAAA,IAAAC,QAAA,GAAAb,OAAA,CAAAc,OAAA,GAEa;EACblD,aAAa;EACbY,oBAAoB;EACpBS,uBAAuB;EACvBgB,KAAK;EACLQ,UAAU;EACVG,iBAAiB;EACjBL,eAAe;EACfZ;AACF,CAAC","ignoreList":[]}
|
|
@@ -12,6 +12,7 @@ const _excluded = ["authenticatedUrl"];
|
|
|
12
12
|
const staticFilesRegex = new RegExp('^/(_next/static).*');
|
|
13
13
|
const imageOptimizationRegex = new RegExp('^/(_next/image).*');
|
|
14
14
|
const headerRequestsRegex = new RegExp('^/(favicon.ico).*');
|
|
15
|
+
const willKnownRequestsRegex = new RegExp('^/(.well-known)/.*');
|
|
15
16
|
const fronteggMiddlewareRegex = new RegExp('^/(api/frontegg).*');
|
|
16
17
|
/**
|
|
17
18
|
* Use `shouldByPassMiddleware` in the middleware.ts file
|
|
@@ -31,7 +32,8 @@ const shouldByPassMiddleware = (pathname, headers, options) => {
|
|
|
31
32
|
const _options = (0, _extends2.default)({
|
|
32
33
|
bypassStaticFiles: true,
|
|
33
34
|
bypassImageOptimization: true,
|
|
34
|
-
bypassHeaderRequests: true
|
|
35
|
+
bypassHeaderRequests: true,
|
|
36
|
+
bypassWillKnownRoutes: true
|
|
35
37
|
}, options, {
|
|
36
38
|
bypassFronteggMiddleware: true,
|
|
37
39
|
bypassFronteggRoutes: true,
|
|
@@ -40,6 +42,7 @@ const shouldByPassMiddleware = (pathname, headers, options) => {
|
|
|
40
42
|
const isStaticFiles = staticFilesRegex.test(pathname);
|
|
41
43
|
const isImageOptimization = imageOptimizationRegex.test(pathname);
|
|
42
44
|
const isHeaderRequests = headerRequestsRegex.test(pathname);
|
|
45
|
+
const isWillKnownRoutes = willKnownRequestsRegex.test(pathname);
|
|
43
46
|
const isFronteggMiddleware = fronteggMiddlewareRegex.test(pathname);
|
|
44
47
|
const authRoutes = (0, _objectWithoutPropertiesLoose2.default)(_routing.defaultFronteggRoutes, _excluded);
|
|
45
48
|
const isFronteggRoutes = Object.values(authRoutes).find(path => pathname.startsWith(path)) != null;
|
|
@@ -47,6 +50,7 @@ const shouldByPassMiddleware = (pathname, headers, options) => {
|
|
|
47
50
|
if (isImageOptimization) return _options.bypassImageOptimization;
|
|
48
51
|
if (isHeaderRequests) return _options.bypassHeaderRequests;
|
|
49
52
|
if (isFronteggMiddleware) return _options.bypassFronteggMiddleware;
|
|
53
|
+
if (isWillKnownRoutes) return _options.bypassWillKnownRoutes;
|
|
50
54
|
if (isFronteggRoutes) return _options.bypassFronteggRoutes;
|
|
51
55
|
const isPrefetchRequest = headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch';
|
|
52
56
|
const secFetchModeHeader = headers.get('sec-fetch-mode');
|
|
@@ -55,7 +59,7 @@ const shouldByPassMiddleware = (pathname, headers, options) => {
|
|
|
55
59
|
|
|
56
60
|
// noinspection RedundantIfStatementJS
|
|
57
61
|
if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {
|
|
58
|
-
|
|
62
|
+
/* bypass prefetch requests on hovering links that leads to SSG pages */
|
|
59
63
|
return true;
|
|
60
64
|
}
|
|
61
65
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shouldBypassMiddleware.js","names":["_routing","require","_excluded","staticFilesRegex","RegExp","imageOptimizationRegex","headerRequestsRegex","fronteggMiddlewareRegex","shouldByPassMiddleware","pathname","headers","options","_options","_extends2","default","bypassStaticFiles","bypassImageOptimization","bypassHeaderRequests","bypassFronteggMiddleware","bypassFronteggRoutes","bypassAuthSamlCallback","isStaticFiles","test","isImageOptimization","isHeaderRequests","isFronteggMiddleware","authRoutes","_objectWithoutPropertiesLoose2","defaultFronteggRoutes","isFronteggRoutes","Object","values","find","path","startsWith","isPrefetchRequest","has","get","secFetchModeHeader","secFetchDestHeader","isBrowserAddressBarPrefetch","exports"],"sources":["../../../../packages/nextjs/src/edge/shouldBypassMiddleware.ts"],"sourcesContent":["import type { NextRequest } from 'next/server';\n\nimport { defaultFronteggRoutes } from '../utils/routing';\n\nconst staticFilesRegex = new RegExp('^/(_next/static).*');\nconst imageOptimizationRegex = new RegExp('^/(_next/image).*');\nconst headerRequestsRegex = new RegExp('^/(favicon.ico).*');\nconst fronteggMiddlewareRegex = new RegExp('^/(api/frontegg).*');\n\ninterface ByPassOptions {\n bypassStaticFiles?: boolean; // default: true\n bypassImageOptimization?: boolean; // default: true\n bypassHeaderRequests?: boolean; // default: true\n}\n\n/**\n * Use `shouldByPassMiddleware` in the middleware.ts file\n * to protect all application's routes.\n * You can override whitelist by passing options parameter\n * NOTE: this will slow down your application due to session check on each\n * static files and image request\n *\n * The default whitelist:\n * - _next/static (static files)\n * - _next/image (image optimization files)\n * - favicon.ico (favicon file)\n * - api/frontegg (API frontegg middleware)\n * - account/[login|logout|saml/callback|...] (frontegg authentication routes)\n */\nexport const shouldByPassMiddleware = (\n pathname: string,\n headers: NextRequest['headers'],\n options?: ByPassOptions\n): boolean => {\n const _options = {\n bypassStaticFiles: true,\n bypassImageOptimization: true,\n bypassHeaderRequests: true,\n ...options,\n bypassFronteggMiddleware: true,\n bypassFronteggRoutes: true,\n bypassAuthSamlCallback: true,\n };\n\n const isStaticFiles = staticFilesRegex.test(pathname);\n const isImageOptimization = imageOptimizationRegex.test(pathname);\n const isHeaderRequests = headerRequestsRegex.test(pathname);\n const isFronteggMiddleware = fronteggMiddlewareRegex.test(pathname);\n\n const { authenticatedUrl, ...authRoutes } = defaultFronteggRoutes;\n const isFronteggRoutes = Object.values(authRoutes).find((path) => pathname.startsWith(path)) != null;\n\n if (isStaticFiles) return _options.bypassStaticFiles;\n if (isImageOptimization) return _options.bypassImageOptimization;\n if (isHeaderRequests) return _options.bypassHeaderRequests;\n if (isFronteggMiddleware) return _options.bypassFronteggMiddleware;\n if (isFronteggRoutes) return _options.bypassFronteggRoutes;\n\n const isPrefetchRequest = headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch';\n const secFetchModeHeader = headers.get('sec-fetch-mode');\n const secFetchDestHeader = headers.get('sec-fetch-dest');\n\n const isBrowserAddressBarPrefetch =\n isPrefetchRequest && secFetchModeHeader === 'navigate' && secFetchDestHeader === 'document';\n\n // noinspection RedundantIfStatementJS\n if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {\n
|
|
1
|
+
{"version":3,"file":"shouldBypassMiddleware.js","names":["_routing","require","_excluded","staticFilesRegex","RegExp","imageOptimizationRegex","headerRequestsRegex","willKnownRequestsRegex","fronteggMiddlewareRegex","shouldByPassMiddleware","pathname","headers","options","_options","_extends2","default","bypassStaticFiles","bypassImageOptimization","bypassHeaderRequests","bypassWillKnownRoutes","bypassFronteggMiddleware","bypassFronteggRoutes","bypassAuthSamlCallback","isStaticFiles","test","isImageOptimization","isHeaderRequests","isWillKnownRoutes","isFronteggMiddleware","authRoutes","_objectWithoutPropertiesLoose2","defaultFronteggRoutes","isFronteggRoutes","Object","values","find","path","startsWith","isPrefetchRequest","has","get","secFetchModeHeader","secFetchDestHeader","isBrowserAddressBarPrefetch","exports"],"sources":["../../../../packages/nextjs/src/edge/shouldBypassMiddleware.ts"],"sourcesContent":["import type { NextRequest } from 'next/server';\n\nimport { defaultFronteggRoutes } from '../utils/routing';\n\nconst staticFilesRegex = new RegExp('^/(_next/static).*');\nconst imageOptimizationRegex = new RegExp('^/(_next/image).*');\nconst headerRequestsRegex = new RegExp('^/(favicon.ico).*');\nconst willKnownRequestsRegex = new RegExp('^/(.well-known)/.*');\nconst fronteggMiddlewareRegex = new RegExp('^/(api/frontegg).*');\n\ninterface ByPassOptions {\n bypassStaticFiles?: boolean; // default: true\n bypassImageOptimization?: boolean; // default: true\n bypassHeaderRequests?: boolean; // default: true\n}\n\n/**\n * Use `shouldByPassMiddleware` in the middleware.ts file\n * to protect all application's routes.\n * You can override whitelist by passing options parameter\n * NOTE: this will slow down your application due to session check on each\n * static files and image request\n *\n * The default whitelist:\n * - _next/static (static files)\n * - _next/image (image optimization files)\n * - favicon.ico (favicon file)\n * - api/frontegg (API frontegg middleware)\n * - account/[login|logout|saml/callback|...] (frontegg authentication routes)\n */\nexport const shouldByPassMiddleware = (\n pathname: string,\n headers: NextRequest['headers'],\n options?: ByPassOptions\n): boolean => {\n const _options = {\n bypassStaticFiles: true,\n bypassImageOptimization: true,\n bypassHeaderRequests: true,\n bypassWillKnownRoutes: true,\n ...options,\n bypassFronteggMiddleware: true,\n bypassFronteggRoutes: true,\n bypassAuthSamlCallback: true,\n };\n\n const isStaticFiles = staticFilesRegex.test(pathname);\n const isImageOptimization = imageOptimizationRegex.test(pathname);\n const isHeaderRequests = headerRequestsRegex.test(pathname);\n const isWillKnownRoutes = willKnownRequestsRegex.test(pathname);\n const isFronteggMiddleware = fronteggMiddlewareRegex.test(pathname);\n\n const { authenticatedUrl, ...authRoutes } = defaultFronteggRoutes;\n const isFronteggRoutes = Object.values(authRoutes).find((path) => pathname.startsWith(path)) != null;\n\n if (isStaticFiles) return _options.bypassStaticFiles;\n if (isImageOptimization) return _options.bypassImageOptimization;\n if (isHeaderRequests) return _options.bypassHeaderRequests;\n if (isFronteggMiddleware) return _options.bypassFronteggMiddleware;\n if (isWillKnownRoutes) return _options.bypassWillKnownRoutes;\n if (isFronteggRoutes) return _options.bypassFronteggRoutes;\n\n const isPrefetchRequest = headers.has('next-router-prefetch') || headers.get('purpose') === 'prefetch';\n const secFetchModeHeader = headers.get('sec-fetch-mode');\n const secFetchDestHeader = headers.get('sec-fetch-dest');\n\n const isBrowserAddressBarPrefetch =\n isPrefetchRequest && secFetchModeHeader === 'navigate' && secFetchDestHeader === 'document';\n\n // noinspection RedundantIfStatementJS\n if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {\n /* bypass prefetch requests on hovering links that leads to SSG pages */\n return true;\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAAyD,MAAAC,SAAA;AAEzD,MAAMC,gBAAgB,GAAG,IAAIC,MAAM,CAAC,oBAAoB,CAAC;AACzD,MAAMC,sBAAsB,GAAG,IAAID,MAAM,CAAC,mBAAmB,CAAC;AAC9D,MAAME,mBAAmB,GAAG,IAAIF,MAAM,CAAC,mBAAmB,CAAC;AAC3D,MAAMG,sBAAsB,GAAG,IAAIH,MAAM,CAAC,oBAAoB,CAAC;AAC/D,MAAMI,uBAAuB,GAAG,IAAIJ,MAAM,CAAC,oBAAoB,CAAC;AAQhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,sBAAsB,GAAGA,CACpCC,QAAgB,EAChBC,OAA+B,EAC/BC,OAAuB,KACX;EACZ,MAAMC,QAAQ,OAAAC,SAAA,CAAAC,OAAA;IACZC,iBAAiB,EAAE,IAAI;IACvBC,uBAAuB,EAAE,IAAI;IAC7BC,oBAAoB,EAAE,IAAI;IAC1BC,qBAAqB,EAAE;EAAI,GACxBP,OAAO;IACVQ,wBAAwB,EAAE,IAAI;IAC9BC,oBAAoB,EAAE,IAAI;IAC1BC,sBAAsB,EAAE;EAAI,EAC7B;EAED,MAAMC,aAAa,GAAGpB,gBAAgB,CAACqB,IAAI,CAACd,QAAQ,CAAC;EACrD,MAAMe,mBAAmB,GAAGpB,sBAAsB,CAACmB,IAAI,CAACd,QAAQ,CAAC;EACjE,MAAMgB,gBAAgB,GAAGpB,mBAAmB,CAACkB,IAAI,CAACd,QAAQ,CAAC;EAC3D,MAAMiB,iBAAiB,GAAGpB,sBAAsB,CAACiB,IAAI,CAACd,QAAQ,CAAC;EAC/D,MAAMkB,oBAAoB,GAAGpB,uBAAuB,CAACgB,IAAI,CAACd,QAAQ,CAAC;EAEnE,MAA6BmB,UAAU,OAAAC,8BAAA,CAAAf,OAAA,EAAKgB,8BAAqB,EAAA7B,SAAA;EACjE,MAAM8B,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAAC,CAACM,IAAI,CAAEC,IAAI,IAAK1B,QAAQ,CAAC2B,UAAU,CAACD,IAAI,CAAC,CAAC,IAAI,IAAI;EAEpG,IAAIb,aAAa,EAAE,OAAOV,QAAQ,CAACG,iBAAiB;EACpD,IAAIS,mBAAmB,EAAE,OAAOZ,QAAQ,CAACI,uBAAuB;EAChE,IAAIS,gBAAgB,EAAE,OAAOb,QAAQ,CAACK,oBAAoB;EAC1D,IAAIU,oBAAoB,EAAE,OAAOf,QAAQ,CAACO,wBAAwB;EAClE,IAAIO,iBAAiB,EAAE,OAAOd,QAAQ,CAACM,qBAAqB;EAC5D,IAAIa,gBAAgB,EAAE,OAAOnB,QAAQ,CAACQ,oBAAoB;EAE1D,MAAMiB,iBAAiB,GAAG3B,OAAO,CAAC4B,GAAG,CAAC,sBAAsB,CAAC,IAAI5B,OAAO,CAAC6B,GAAG,CAAC,SAAS,CAAC,KAAK,UAAU;EACtG,MAAMC,kBAAkB,GAAG9B,OAAO,CAAC6B,GAAG,CAAC,gBAAgB,CAAC;EACxD,MAAME,kBAAkB,GAAG/B,OAAO,CAAC6B,GAAG,CAAC,gBAAgB,CAAC;EAExD,MAAMG,2BAA2B,GAC/BL,iBAAiB,IAAIG,kBAAkB,KAAK,UAAU,IAAIC,kBAAkB,KAAK,UAAU;;EAE7F;EACA,IAAIJ,iBAAiB,IAAI,CAACK,2BAA2B,EAAE;IACrD;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAACC,OAAA,CAAAnC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontegg/nextjs",
|
|
3
3
|
"libName": "FronteggNextJs",
|
|
4
|
-
"version": "9.2.
|
|
4
|
+
"version": "9.2.10",
|
|
5
5
|
"author": "Frontegg LTD",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"lint-json": "eslint -c .eslintrc.json -o ./lint-report.json --format json --no-color ./src/**/*.{ts,tsx}"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@frontegg/js": "7.
|
|
31
|
-
"@frontegg/react-hooks": "7.
|
|
30
|
+
"@frontegg/js": "7.92.0",
|
|
31
|
+
"@frontegg/react-hooks": "7.92.0",
|
|
32
32
|
"http-proxy": "^1.18.1",
|
|
33
33
|
"iron-session": "^6.3.1",
|
|
34
34
|
"jose": "^4.12.2"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IncomingHttpHeaders } from 'http';
|
|
2
|
+
interface ByPassOptions {
|
|
3
|
+
bypassNextJsFiles?: boolean;
|
|
4
|
+
bypassWillKnownRoutes?: boolean;
|
|
5
|
+
bypassHeaderRequests?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Use `shouldBypassGetInitialProps` in the withFronteggApp.ts file
|
|
9
|
+
* to protect all application's routes.
|
|
10
|
+
* You can override whitelist by passing options parameter
|
|
11
|
+
* NOTE: this will slow down your application due to session check on each
|
|
12
|
+
* static files and image request
|
|
13
|
+
*/
|
|
14
|
+
export declare const shouldBypassGetInitialProps: (pathname: string, headers?: IncomingHttpHeaders, options?: ByPassOptions) => boolean;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.shouldBypassGetInitialProps = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _fronteggLogger = _interopRequireDefault(require("../../utils/fronteggLogger"));
|
|
10
|
+
const nextJsFilesRegex = new RegExp('^/(_next/).*');
|
|
11
|
+
const headerRequestsRegex = new RegExp('^/(favicon.ico).*');
|
|
12
|
+
const willKnownRequestsRegex = new RegExp('^/(.well-known)/.*');
|
|
13
|
+
/**
|
|
14
|
+
* Use `shouldBypassGetInitialProps` in the withFronteggApp.ts file
|
|
15
|
+
* to protect all application's routes.
|
|
16
|
+
* You can override whitelist by passing options parameter
|
|
17
|
+
* NOTE: this will slow down your application due to session check on each
|
|
18
|
+
* static files and image request
|
|
19
|
+
*/
|
|
20
|
+
const shouldBypassGetInitialProps = (pathname, headers, options) => {
|
|
21
|
+
const logger = _fronteggLogger.default.child({
|
|
22
|
+
tag: 'shouldBypassGetInitialProps'
|
|
23
|
+
});
|
|
24
|
+
const _options = (0, _extends2.default)({
|
|
25
|
+
bypassNextJsFiles: true,
|
|
26
|
+
bypassHeaderRequests: true,
|
|
27
|
+
bypassWillKnownRoutes: true
|
|
28
|
+
}, options);
|
|
29
|
+
const isNextJsFiles = nextJsFilesRegex.test(pathname);
|
|
30
|
+
const isHeaderRequests = headerRequestsRegex.test(pathname);
|
|
31
|
+
const isWillKnownRoutes = willKnownRequestsRegex.test(pathname);
|
|
32
|
+
logger.debug(`${pathname}`, {
|
|
33
|
+
options,
|
|
34
|
+
checks: {
|
|
35
|
+
isNextJsFiles,
|
|
36
|
+
isHeaderRequests,
|
|
37
|
+
isWillKnownRoutes
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (isNextJsFiles) return _options.bypassNextJsFiles;
|
|
41
|
+
if (isHeaderRequests) return _options.bypassHeaderRequests;
|
|
42
|
+
if (isWillKnownRoutes) return _options.bypassWillKnownRoutes;
|
|
43
|
+
if (!headers) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
const isPrefetchRequest = headers['next-router-prefetch'] || headers.purpose === 'prefetch';
|
|
47
|
+
const secFetchModeHeader = headers['sec-fetch-mode'];
|
|
48
|
+
const secFetchDestHeader = headers['sec-fetch-dest'];
|
|
49
|
+
const isBrowserAddressBarPrefetch = isPrefetchRequest && secFetchModeHeader === 'navigate' && secFetchDestHeader === 'document';
|
|
50
|
+
|
|
51
|
+
// noinspection RedundantIfStatementJS
|
|
52
|
+
if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
57
|
+
exports.shouldBypassGetInitialProps = shouldBypassGetInitialProps;
|
|
58
|
+
//# sourceMappingURL=shouldBypassGetInitialProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shouldBypassGetInitialProps.js","names":["_fronteggLogger","_interopRequireDefault","require","nextJsFilesRegex","RegExp","headerRequestsRegex","willKnownRequestsRegex","shouldBypassGetInitialProps","pathname","headers","options","logger","fronteggLogger","child","tag","_options","_extends2","default","bypassNextJsFiles","bypassHeaderRequests","bypassWillKnownRoutes","isNextJsFiles","test","isHeaderRequests","isWillKnownRoutes","debug","checks","isPrefetchRequest","purpose","secFetchModeHeader","secFetchDestHeader","isBrowserAddressBarPrefetch","exports"],"sources":["../../../../../packages/nextjs/src/pages/withFronteggApp/shouldBypassGetInitialProps.ts"],"sourcesContent":["import { IncomingHttpHeaders } from 'http';\nimport fronteggLogger from '../../utils/fronteggLogger';\n\nconst nextJsFilesRegex = new RegExp('^/(_next/).*');\nconst headerRequestsRegex = new RegExp('^/(favicon.ico).*');\nconst willKnownRequestsRegex = new RegExp('^/(.well-known)/.*');\n\ninterface ByPassOptions {\n bypassNextJsFiles?: boolean;\n bypassWillKnownRoutes?: boolean; // default: true\n bypassHeaderRequests?: boolean; // default: true\n}\n\n/**\n * Use `shouldBypassGetInitialProps` in the withFronteggApp.ts file\n * to protect all application's routes.\n * You can override whitelist by passing options parameter\n * NOTE: this will slow down your application due to session check on each\n * static files and image request\n */\nexport const shouldBypassGetInitialProps = (\n pathname: string,\n headers?: IncomingHttpHeaders,\n options?: ByPassOptions\n): boolean => {\n const logger = fronteggLogger.child({ tag: 'shouldBypassGetInitialProps' });\n const _options = {\n bypassNextJsFiles: true,\n bypassHeaderRequests: true,\n bypassWillKnownRoutes: true,\n ...options,\n };\n\n const isNextJsFiles = nextJsFilesRegex.test(pathname);\n const isHeaderRequests = headerRequestsRegex.test(pathname);\n const isWillKnownRoutes = willKnownRequestsRegex.test(pathname);\n\n logger.debug(`${pathname}`, { options, checks: { isNextJsFiles, isHeaderRequests, isWillKnownRoutes } });\n\n if (isNextJsFiles) return _options.bypassNextJsFiles;\n if (isHeaderRequests) return _options.bypassHeaderRequests;\n if (isWillKnownRoutes) return _options.bypassWillKnownRoutes;\n\n if (!headers) {\n return false;\n }\n const isPrefetchRequest = headers['next-router-prefetch'] || headers.purpose === 'prefetch';\n const secFetchModeHeader = headers['sec-fetch-mode'];\n const secFetchDestHeader = headers['sec-fetch-dest'];\n\n const isBrowserAddressBarPrefetch =\n isPrefetchRequest && secFetchModeHeader === 'navigate' && secFetchDestHeader === 'document';\n\n // noinspection RedundantIfStatementJS\n if (isPrefetchRequest && !isBrowserAddressBarPrefetch) {\n return true;\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,MAAMC,gBAAgB,GAAG,IAAIC,MAAM,CAAC,cAAc,CAAC;AACnD,MAAMC,mBAAmB,GAAG,IAAID,MAAM,CAAC,mBAAmB,CAAC;AAC3D,MAAME,sBAAsB,GAAG,IAAIF,MAAM,CAAC,oBAAoB,CAAC;AAQ/D;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,2BAA2B,GAAGA,CACzCC,QAAgB,EAChBC,OAA6B,EAC7BC,OAAuB,KACX;EACZ,MAAMC,MAAM,GAAGC,uBAAc,CAACC,KAAK,CAAC;IAAEC,GAAG,EAAE;EAA8B,CAAC,CAAC;EAC3E,MAAMC,QAAQ,OAAAC,SAAA,CAAAC,OAAA;IACZC,iBAAiB,EAAE,IAAI;IACvBC,oBAAoB,EAAE,IAAI;IAC1BC,qBAAqB,EAAE;EAAI,GACxBV,OAAO,CACX;EAED,MAAMW,aAAa,GAAGlB,gBAAgB,CAACmB,IAAI,CAACd,QAAQ,CAAC;EACrD,MAAMe,gBAAgB,GAAGlB,mBAAmB,CAACiB,IAAI,CAACd,QAAQ,CAAC;EAC3D,MAAMgB,iBAAiB,GAAGlB,sBAAsB,CAACgB,IAAI,CAACd,QAAQ,CAAC;EAE/DG,MAAM,CAACc,KAAK,CAAC,GAAGjB,QAAQ,EAAE,EAAE;IAAEE,OAAO;IAAEgB,MAAM,EAAE;MAAEL,aAAa;MAAEE,gBAAgB;MAAEC;IAAkB;EAAE,CAAC,CAAC;EAExG,IAAIH,aAAa,EAAE,OAAON,QAAQ,CAACG,iBAAiB;EACpD,IAAIK,gBAAgB,EAAE,OAAOR,QAAQ,CAACI,oBAAoB;EAC1D,IAAIK,iBAAiB,EAAE,OAAOT,QAAQ,CAACK,qBAAqB;EAE5D,IAAI,CAACX,OAAO,EAAE;IACZ,OAAO,KAAK;EACd;EACA,MAAMkB,iBAAiB,GAAGlB,OAAO,CAAC,sBAAsB,CAAC,IAAIA,OAAO,CAACmB,OAAO,KAAK,UAAU;EAC3F,MAAMC,kBAAkB,GAAGpB,OAAO,CAAC,gBAAgB,CAAC;EACpD,MAAMqB,kBAAkB,GAAGrB,OAAO,CAAC,gBAAgB,CAAC;EAEpD,MAAMsB,2BAA2B,GAC/BJ,iBAAiB,IAAIE,kBAAkB,KAAK,UAAU,IAAIC,kBAAkB,KAAK,UAAU;;EAE7F;EACA,IAAIH,iBAAiB,IAAI,CAACI,2BAA2B,EAAE;IACrD,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd,CAAC;AAACC,OAAA,CAAAzB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
|
|
@@ -12,33 +12,46 @@ var _refreshAccessTokenIfNeeded = _interopRequireWildcard(require("../../utils/r
|
|
|
12
12
|
var _fetchUserData = _interopRequireDefault(require("../../utils/fetchUserData"));
|
|
13
13
|
var _config = _interopRequireDefault(require("../../config"));
|
|
14
14
|
var _helpers = require("../../middleware/helpers");
|
|
15
|
+
var _shouldBypassGetInitialProps = require("./shouldBypassGetInitialProps");
|
|
16
|
+
var _fronteggLogger = _interopRequireDefault(require("../../utils/fronteggLogger"));
|
|
15
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
20
|
const withFronteggApp = (app, options) => {
|
|
19
21
|
const originalGetInitialProps = app.getInitialProps;
|
|
20
22
|
app.getInitialProps = async appContext => {
|
|
23
|
+
var _ctx$req$url, _ctx$req, _ctx$req2;
|
|
21
24
|
const {
|
|
22
25
|
ctx,
|
|
23
26
|
router,
|
|
24
27
|
Component
|
|
25
28
|
} = appContext;
|
|
29
|
+
const logger = _fronteggLogger.default.child({
|
|
30
|
+
tag: 'withFronteggApp'
|
|
31
|
+
});
|
|
26
32
|
const isSSG = router.isReady == false && router.isPreview == false;
|
|
27
33
|
_config.default.checkHostedLoginConfig(options);
|
|
28
34
|
let appEnvConfig = {};
|
|
29
|
-
|
|
35
|
+
const appContextSessionData = {
|
|
30
36
|
session: null,
|
|
31
37
|
user: null,
|
|
32
38
|
tenants: null
|
|
33
39
|
};
|
|
40
|
+
if ((0, _shouldBypassGetInitialProps.shouldBypassGetInitialProps)((_ctx$req$url = (_ctx$req = ctx.req) == null ? void 0 : _ctx$req.url) != null ? _ctx$req$url : '/', (_ctx$req2 = ctx.req) == null ? void 0 : _ctx$req2.headers)) {
|
|
41
|
+
var _ctx$req$url2, _ctx$req3;
|
|
42
|
+
logger.debug('Bypassing get initial props for url: ' + ((_ctx$req$url2 = (_ctx$req3 = ctx.req) == null ? void 0 : _ctx$req3.url) != null ? _ctx$req$url2 : ''));
|
|
43
|
+
return {
|
|
44
|
+
pageProps: (0, _extends2.default)({}, originalGetInitialProps ? await originalGetInitialProps(appContext) : {}, Component.getInitialProps ? await Component.getInitialProps(ctx) : {})
|
|
45
|
+
};
|
|
46
|
+
}
|
|
34
47
|
let shouldRequestAuthorize = false;
|
|
35
48
|
if (ctx.req) {
|
|
36
49
|
appEnvConfig = _config.default.appEnvConfig;
|
|
37
50
|
if (isSSG) {
|
|
38
51
|
shouldRequestAuthorize = true;
|
|
39
52
|
} else {
|
|
40
|
-
var _ctx$
|
|
41
|
-
const url = (_ctx$
|
|
53
|
+
var _ctx$req4;
|
|
54
|
+
const url = (_ctx$req4 = ctx.req) == null ? void 0 : _ctx$req4.url;
|
|
42
55
|
if (url && (0, _refreshAccessTokenIfNeeded.isRuntimeNextRequest)(url)) {
|
|
43
56
|
let session = await (0, _refreshAccessTokenIfNeeded.default)(ctx);
|
|
44
57
|
if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true') {
|
|
@@ -51,8 +64,8 @@ const withFronteggApp = (app, options) => {
|
|
|
51
64
|
let userData = await (0, _fetchUserData.default)({
|
|
52
65
|
getSession: async () => await (0, _refreshAccessTokenIfNeeded.default)(ctx),
|
|
53
66
|
getHeaders: async () => {
|
|
54
|
-
var _ctx$req$headers, _ctx$
|
|
55
|
-
return (_ctx$req$headers = (_ctx$
|
|
67
|
+
var _ctx$req$headers, _ctx$req5;
|
|
68
|
+
return (_ctx$req$headers = (_ctx$req5 = ctx.req) == null ? void 0 : _ctx$req5.headers) != null ? _ctx$req$headers : {};
|
|
56
69
|
}
|
|
57
70
|
});
|
|
58
71
|
if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true' && userData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withFronteggApp.js","names":["_react","_interopRequireDefault","require","_FronteggPagesProvider","_refreshAccessTokenIfNeeded","_interopRequireWildcard","_fetchUserData","_config","_helpers","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","withFronteggApp","app","options","originalGetInitialProps","getInitialProps","appContext","ctx","router","Component","isSSG","isReady","isPreview","config","checkHostedLoginConfig","appEnvConfig","appContextSessionData","session","user","tenants","shouldRequestAuthorize","req","_ctx$req","url","isRuntimeNextRequest","refreshAccessTokenIfNeeded","process","env","removeJwtSignatureFrom","assign","userData","fetchUserData","getSession","getHeaders","_ctx$req$headers","_ctx$req2","headers","_userData","pageProps","_extends2","CustomFronteggApp","appProps","activeTenant","envAppUrl","envBaseUrl","envClientId","secureJwtEnabled","envAppId","envHostedLoginBox","jsx","hostedLoginBox","__N_SSG","children","exports"],"sources":["../../../../../packages/nextjs/src/pages/withFronteggApp/withFronteggApp.tsx"],"sourcesContent":["import React from 'react';\nimport type { AppContext, AppInitialProps, AppProps } from 'next/app';\nimport type { FronteggCustomAppClass, FronteggCustomApp, WithFronteggAppOptions } from './types';\nimport FronteggProvider from '../FronteggPagesProvider';\nimport refreshAccessTokenIfNeeded, { isRuntimeNextRequest } from '../../utils/refreshAccessTokenIfNeeded';\nimport fetchUserData from '../../utils/fetchUserData';\nimport config from '../../config';\nimport { AllUserData } from '../../types';\nimport { removeJwtSignatureFrom } from '../../middleware/helpers';\n\nexport const withFronteggApp = (app: FronteggCustomAppClass, options?: WithFronteggAppOptions): FronteggCustomApp => {\n const originalGetInitialProps = app.getInitialProps;\n\n app.getInitialProps = async (appContext: AppContext & AllUserData): Promise<AppInitialProps> => {\n const { ctx, router, Component } = appContext;\n\n const isSSG = router.isReady == false && router.isPreview == false;\n\n config.checkHostedLoginConfig(options);\n\n let appEnvConfig = {};\n let appContextSessionData: AllUserData = {\n session: null,\n user: null,\n tenants: null,\n };\n let shouldRequestAuthorize = false;\n\n if (ctx.req) {\n appEnvConfig = config.appEnvConfig;\n\n if (isSSG) {\n shouldRequestAuthorize = true;\n } else {\n const url = ctx.req?.url;\n\n if (url && isRuntimeNextRequest(url)) {\n let session = await refreshAccessTokenIfNeeded(ctx);\n if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true') {\n session = removeJwtSignatureFrom(session);\n }\n Object.assign(appContextSessionData, { session });\n } else {\n let userData = await fetchUserData({\n getSession: async () => await refreshAccessTokenIfNeeded(ctx),\n getHeaders: async () => ctx.req?.headers ?? {},\n });\n if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true' && userData) {\n userData = removeJwtSignatureFrom(userData);\n userData.session = removeJwtSignatureFrom(userData?.session);\n }\n shouldRequestAuthorize = true;\n Object.assign(appContextSessionData, userData);\n }\n }\n }\n\n Object.assign(appContext, appContextSessionData);\n\n return {\n pageProps: {\n ...(originalGetInitialProps ? await originalGetInitialProps(appContext) : {}),\n ...(Component.getInitialProps ? await Component.getInitialProps(ctx) : {}),\n ...(appContextSessionData.session == null ? {} : appContextSessionData),\n ...appEnvConfig,\n shouldRequestAuthorize,\n },\n };\n };\n\n function CustomFronteggApp(appProps: AppProps) {\n const {\n user,\n tenants,\n activeTenant,\n session,\n envAppUrl,\n envBaseUrl,\n envClientId,\n secureJwtEnabled,\n envAppId,\n envHostedLoginBox,\n shouldRequestAuthorize,\n } = appProps.pageProps;\n\n return (\n <FronteggProvider\n {...options}\n hostedLoginBox={envHostedLoginBox}\n {...{\n user,\n tenants,\n activeTenant,\n session,\n envAppUrl,\n envBaseUrl,\n envHostedLoginBox,\n secureJwtEnabled,\n shouldRequestAuthorize,\n isSSG: appProps.__N_SSG,\n envClientId,\n envAppId,\n }}\n >\n {app(appProps) as any}\n </FronteggProvider>\n );\n }\n\n CustomFronteggApp.getInitialProps = app.getInitialProps;\n\n return CustomFronteggApp as FronteggCustomApp;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"withFronteggApp.js","names":["_react","_interopRequireDefault","require","_FronteggPagesProvider","_refreshAccessTokenIfNeeded","_interopRequireWildcard","_fetchUserData","_config","_helpers","_shouldBypassGetInitialProps","_fronteggLogger","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","withFronteggApp","app","options","originalGetInitialProps","getInitialProps","appContext","_ctx$req$url","_ctx$req","_ctx$req2","ctx","router","Component","logger","fronteggLogger","child","tag","isSSG","isReady","isPreview","config","checkHostedLoginConfig","appEnvConfig","appContextSessionData","session","user","tenants","shouldBypassGetInitialProps","req","url","headers","_ctx$req$url2","_ctx$req3","debug","pageProps","_extends2","shouldRequestAuthorize","_ctx$req4","isRuntimeNextRequest","refreshAccessTokenIfNeeded","process","env","removeJwtSignatureFrom","assign","userData","fetchUserData","getSession","getHeaders","_ctx$req$headers","_ctx$req5","_userData","CustomFronteggApp","appProps","activeTenant","envAppUrl","envBaseUrl","envClientId","secureJwtEnabled","envAppId","envHostedLoginBox","jsx","hostedLoginBox","__N_SSG","children","exports"],"sources":["../../../../../packages/nextjs/src/pages/withFronteggApp/withFronteggApp.tsx"],"sourcesContent":["import React from 'react';\nimport type { AppContext, AppInitialProps, AppProps } from 'next/app';\nimport type { FronteggCustomAppClass, FronteggCustomApp, WithFronteggAppOptions } from './types';\nimport FronteggProvider from '../FronteggPagesProvider';\nimport refreshAccessTokenIfNeeded, { isRuntimeNextRequest } from '../../utils/refreshAccessTokenIfNeeded';\nimport fetchUserData from '../../utils/fetchUserData';\nimport config from '../../config';\nimport { AllUserData } from '../../types';\nimport { removeJwtSignatureFrom } from '../../middleware/helpers';\nimport { shouldBypassGetInitialProps } from './shouldBypassGetInitialProps';\nimport fronteggLogger from '../../utils/fronteggLogger';\n\nexport const withFronteggApp = (app: FronteggCustomAppClass, options?: WithFronteggAppOptions): FronteggCustomApp => {\n const originalGetInitialProps = app.getInitialProps;\n\n app.getInitialProps = async (appContext: AppContext & AllUserData): Promise<AppInitialProps> => {\n const { ctx, router, Component } = appContext;\n const logger = fronteggLogger.child({ tag: 'withFronteggApp' });\n const isSSG = router.isReady == false && router.isPreview == false;\n config.checkHostedLoginConfig(options);\n\n let appEnvConfig = {};\n const appContextSessionData: AllUserData = {\n session: null,\n user: null,\n tenants: null,\n };\n if (shouldBypassGetInitialProps(ctx.req?.url ?? '/', ctx.req?.headers)) {\n logger.debug('Bypassing get initial props for url: ' + (ctx.req?.url ?? ''));\n return {\n pageProps: {\n ...(originalGetInitialProps ? await originalGetInitialProps(appContext) : {}),\n ...(Component.getInitialProps ? await Component.getInitialProps(ctx) : {}),\n },\n };\n }\n\n let shouldRequestAuthorize = false;\n\n if (ctx.req) {\n appEnvConfig = config.appEnvConfig;\n\n if (isSSG) {\n shouldRequestAuthorize = true;\n } else {\n const url = ctx.req?.url;\n\n if (url && isRuntimeNextRequest(url)) {\n let session = await refreshAccessTokenIfNeeded(ctx);\n if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true') {\n session = removeJwtSignatureFrom(session);\n }\n Object.assign(appContextSessionData, { session });\n } else {\n let userData = await fetchUserData({\n getSession: async () => await refreshAccessTokenIfNeeded(ctx),\n getHeaders: async () => ctx.req?.headers ?? {},\n });\n if (process.env['FRONTEGG_SECURE_JWT_ENABLED'] === 'true' && userData) {\n userData = removeJwtSignatureFrom(userData);\n userData.session = removeJwtSignatureFrom(userData?.session);\n }\n shouldRequestAuthorize = true;\n Object.assign(appContextSessionData, userData);\n }\n }\n }\n\n Object.assign(appContext, appContextSessionData);\n\n return {\n pageProps: {\n ...(originalGetInitialProps ? await originalGetInitialProps(appContext) : {}),\n ...(Component.getInitialProps ? await Component.getInitialProps(ctx) : {}),\n ...(appContextSessionData.session == null ? {} : appContextSessionData),\n ...appEnvConfig,\n shouldRequestAuthorize,\n },\n };\n };\n\n function CustomFronteggApp(appProps: AppProps) {\n const {\n user,\n tenants,\n activeTenant,\n session,\n envAppUrl,\n envBaseUrl,\n envClientId,\n secureJwtEnabled,\n envAppId,\n envHostedLoginBox,\n shouldRequestAuthorize,\n } = appProps.pageProps;\n\n return (\n <FronteggProvider\n {...options}\n hostedLoginBox={envHostedLoginBox}\n {...{\n user,\n tenants,\n activeTenant,\n session,\n envAppUrl,\n envBaseUrl,\n envHostedLoginBox,\n secureJwtEnabled,\n shouldRequestAuthorize,\n isSSG: appProps.__N_SSG,\n envClientId,\n envAppId,\n }}\n >\n {app(appProps) as any}\n </FronteggProvider>\n );\n }\n\n CustomFronteggApp.getInitialProps = app.getInitialProps;\n\n return CustomFronteggApp as FronteggCustomApp;\n};\n"],"mappings":"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","ignoreList":[]}
|
package/sdkVersion.js
CHANGED
package/sdkVersion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkVersion.js","names":["version"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.2.
|
|
1
|
+
{"version":3,"file":"sdkVersion.js","names":["version"],"sources":["../../../packages/nextjs/src/sdkVersion.ts"],"sourcesContent":["export default { version: '9.2.10' };\n"],"mappings":";;;;;;iCAAe;EAAEA,OAAO,EAAE;AAAS,CAAC","ignoreList":[]}
|