@frontegg/nextjs 6.7.20 → 6.7.21-alpha.4441971157
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 +11 -0
- package/README.md +19 -37
- package/api/index.d.ts +19 -0
- package/api/index.js +87 -0
- package/api/index.js.map +1 -0
- package/api/package.json +6 -0
- package/api/urls.d.ts +33 -0
- package/api/urls.js +56 -0
- package/api/urls.js.map +1 -0
- package/api/utils.d.ts +46 -0
- package/api/utils.js +123 -0
- package/api/utils.js.map +1 -0
- package/app/ClientFronteggProvider.d.ts +3 -0
- package/app/ClientFronteggProvider.js +32 -0
- package/app/ClientFronteggProvider.js.map +1 -0
- package/app/FronteggAppProvider.d.ts +4 -0
- package/app/FronteggAppProvider.js +25 -0
- package/app/FronteggAppProvider.js.map +1 -0
- package/{client → app}/FronteggAppRouter.d.ts +11 -10
- package/app/FronteggAppRouter.js +38 -0
- package/app/FronteggAppRouter.js.map +1 -0
- package/app/helpers.d.ts +5 -0
- package/app/helpers.js +43 -0
- package/app/helpers.js.map +1 -0
- package/app/index.d.ts +4 -0
- package/app/index.js +39 -0
- package/app/index.js.map +1 -0
- package/app/package.json +6 -0
- package/common/{client/AppContext.d.ts → AppContext.d.ts} +4 -4
- package/common/AppContext.js +12 -0
- package/common/AppContext.js.map +1 -0
- package/{AuthorizedContent.d.ts → common/AuthorizedContent.d.ts} +9 -8
- package/common/AuthorizedContent.js +54 -0
- package/common/AuthorizedContent.js.map +1 -0
- package/common/{client/FronteggBaseProvider.d.ts → FronteggBaseProvider.d.ts} +3 -3
- package/common/FronteggBaseProvider.js +76 -0
- package/common/FronteggBaseProvider.js.map +1 -0
- package/common/FronteggRouterBase.d.ts +9 -0
- package/common/FronteggRouterBase.js +48 -0
- package/common/FronteggRouterBase.js.map +1 -0
- package/common/helpers.d.ts +3 -9
- package/common/helpers.js +32 -0
- package/common/helpers.js.map +1 -0
- package/common/index.d.ts +4 -6
- package/common/index.js +45 -10
- package/common/index.js.map +1 -1
- package/common/package.json +6 -0
- package/common/useRequestAuthorizeSSR.d.ts +5 -0
- package/common/useRequestAuthorizeSSR.js +30 -0
- package/common/useRequestAuthorizeSSR.js.map +1 -0
- package/config/constants.d.ts +57 -0
- package/config/constants.js +20 -0
- package/config/constants.js.map +1 -0
- package/config/helpers.d.ts +28 -0
- package/config/helpers.js +97 -0
- package/config/helpers.js.map +1 -0
- package/config/index.d.ts +24 -0
- package/config/index.js +94 -0
- package/config/index.js.map +1 -0
- package/config/package.json +6 -0
- package/config/types.d.ts +18 -0
- package/config/types.js +6 -0
- package/config/types.js.map +1 -0
- package/edge/getSessionOnEdge.d.ts +3 -2
- package/edge/getSessionOnEdge.js +16 -0
- package/edge/getSessionOnEdge.js.map +1 -0
- package/edge/index.d.ts +3 -2
- package/edge/index.js +38 -63
- package/edge/index.js.map +1 -1
- package/edge/package.json +6 -0
- package/edge/redirectToLogin.d.ts +2 -0
- package/edge/redirectToLogin.js +16 -0
- package/edge/redirectToLogin.js.map +1 -0
- package/edge/shouldBypassMiddleware.d.ts +21 -7
- package/edge/shouldBypassMiddleware.js +50 -0
- package/edge/shouldBypassMiddleware.js.map +1 -0
- package/index.d.ts +7 -11
- package/index.js +98 -1392
- package/index.js.map +1 -1
- package/middleware/FronteggApiMiddleware.d.ts +8 -0
- package/middleware/FronteggApiMiddleware.js +34 -0
- package/middleware/FronteggApiMiddleware.js.map +1 -0
- package/middleware/FronteggProxy.d.ts +4 -0
- package/middleware/FronteggProxy.js +31 -0
- package/middleware/FronteggProxy.js.map +1 -0
- package/middleware/ProxyRequestCallback.d.ts +13 -0
- package/middleware/ProxyRequestCallback.js +56 -0
- package/middleware/ProxyRequestCallback.js.map +1 -0
- package/middleware/ProxyResponseCallback.d.ts +13 -0
- package/middleware/ProxyResponseCallback.js +111 -0
- package/middleware/ProxyResponseCallback.js.map +1 -0
- package/middleware/constants.d.ts +8 -0
- package/middleware/constants.js +17 -0
- package/middleware/constants.js.map +1 -0
- package/{common/FronteggProxy.d.ts → middleware/helpers.d.ts} +13 -26
- package/middleware/helpers.js +42 -0
- package/middleware/helpers.js.map +1 -0
- package/middleware/index.d.ts +23 -0
- package/middleware/index.js +13 -0
- package/middleware/index.js.map +1 -0
- package/middleware/package.json +6 -0
- package/no-ssr/ExpireInListener.d.ts +2 -0
- package/no-ssr/ExpireInListener.js +29 -0
- package/no-ssr/ExpireInListener.js.map +1 -0
- package/{FronteggProviderNoSSR.d.ts → no-ssr/FronteggProviderNoSSR.d.ts} +4 -4
- package/no-ssr/FronteggProviderNoSSR.js +84 -0
- package/no-ssr/FronteggProviderNoSSR.js.map +1 -0
- package/no-ssr/index.d.ts +2 -0
- package/no-ssr/index.js +13 -0
- package/no-ssr/index.js.map +1 -0
- package/no-ssr/package.json +6 -0
- package/package.json +6 -7
- package/pages/FronteggPagesProvider/index.d.ts +4 -0
- package/pages/FronteggPagesProvider/index.js +32 -0
- package/pages/FronteggPagesProvider/index.js.map +1 -0
- package/pages/FronteggPagesProvider/package.json +6 -0
- package/{FronteggRouter.d.ts → pages/FronteggRouter/FronteggRouter.d.ts} +6 -5
- package/pages/FronteggRouter/FronteggRouter.js +46 -0
- package/pages/FronteggRouter/FronteggRouter.js.map +1 -0
- package/pages/FronteggRouter/index.d.ts +26 -0
- package/pages/FronteggRouter/index.js +19 -0
- package/pages/FronteggRouter/index.js.map +1 -0
- package/pages/FronteggRouter/package.json +6 -0
- package/{session.d.ts → pages/helpers.d.ts} +10 -10
- package/pages/helpers.js +40 -0
- package/pages/helpers.js.map +1 -0
- package/pages/index.d.ts +3 -0
- package/pages/index.js +47 -0
- package/pages/index.js.map +1 -0
- package/pages/package.json +6 -0
- package/pages/withFronteggApp/index.d.ts +2 -0
- package/pages/withFronteggApp/index.js +13 -0
- package/pages/withFronteggApp/index.js.map +1 -0
- package/pages/withFronteggApp/package.json +6 -0
- package/pages/withFronteggApp/types.d.ts +12 -0
- package/pages/withFronteggApp/types.js +6 -0
- package/pages/withFronteggApp/types.js.map +1 -0
- package/pages/withFronteggApp/withFronteggApp.d.ts +2 -0
- package/pages/withFronteggApp/withFronteggApp.js +70 -0
- package/pages/withFronteggApp/withFronteggApp.js.map +1 -0
- package/sdkVersion.d.ts +4 -4
- package/sdkVersion.js +11 -0
- package/sdkVersion.js.map +1 -0
- package/{common/types.d.ts → types/index.d.ts} +80 -74
- package/types/index.js +6 -0
- package/types/index.js.map +1 -0
- package/types/package.json +6 -0
- package/utils/common/constants.d.ts +12 -0
- package/utils/common/constants.js +23 -0
- package/utils/common/constants.js.map +1 -0
- package/utils/common/index.d.ts +15 -0
- package/utils/common/index.js +32 -0
- package/utils/common/index.js.map +1 -0
- package/utils/common/package.json +6 -0
- package/utils/cookies/constants.d.ts +7 -0
- package/utils/cookies/constants.js +15 -0
- package/utils/cookies/constants.js.map +1 -0
- package/utils/cookies/helpers.d.ts +25 -0
- package/utils/cookies/helpers.js +64 -0
- package/utils/cookies/helpers.js.map +1 -0
- package/utils/cookies/index.d.ts +45 -0
- package/utils/cookies/index.js +239 -0
- package/utils/cookies/index.js.map +1 -0
- package/utils/cookies/package.json +6 -0
- package/utils/cookies/serializer.d.ts +22 -0
- package/utils/cookies/serializer.js +161 -0
- package/utils/cookies/serializer.js.map +1 -0
- package/utils/cookies/types.d.ts +31 -0
- package/utils/cookies/types.js +6 -0
- package/utils/cookies/types.js.map +1 -0
- package/utils/createSession/index.d.ts +2 -0
- package/utils/createSession/index.js +51 -0
- package/utils/createSession/index.js.map +1 -0
- package/utils/createSession/package.json +6 -0
- package/utils/encryption/index.d.ts +3 -0
- package/utils/encryption/index.js +37 -0
- package/utils/encryption/index.js.map +1 -0
- package/utils/encryption/package.json +6 -0
- package/utils/encryption-edge/index.d.ts +3 -0
- package/utils/encryption-edge/index.js +37 -0
- package/utils/encryption-edge/index.js.map +1 -0
- package/utils/encryption-edge/package.json +6 -0
- package/utils/errors/FronteggEnvNotFound.d.ts +3 -0
- package/utils/errors/FronteggEnvNotFound.js +15 -0
- package/utils/errors/FronteggEnvNotFound.js.map +1 -0
- package/utils/errors/InvalidFronteggEnv.d.ts +3 -0
- package/utils/errors/InvalidFronteggEnv.js +15 -0
- package/utils/errors/InvalidFronteggEnv.js.map +1 -0
- package/utils/errors/index.d.ts +2 -0
- package/utils/errors/index.js +28 -0
- package/utils/errors/index.js.map +1 -0
- package/utils/errors/package.json +6 -0
- package/utils/fetchUserData/index.d.ts +7 -0
- package/utils/fetchUserData/index.js +56 -0
- package/utils/fetchUserData/index.js.map +1 -0
- package/utils/fetchUserData/package.json +6 -0
- package/utils/fronteggLogger/constants.d.ts +13 -0
- package/utils/fronteggLogger/constants.js +28 -0
- package/utils/fronteggLogger/constants.js.map +1 -0
- package/utils/fronteggLogger/index.d.ts +17 -0
- package/utils/fronteggLogger/index.js +67 -0
- package/utils/fronteggLogger/index.js.map +1 -0
- package/utils/fronteggLogger/package.json +6 -0
- package/{common/client/createOrGetFronteggApp.d.ts → utils/initializeFronteggApp/index.d.ts} +11 -11
- package/utils/initializeFronteggApp/index.js +108 -0
- package/utils/initializeFronteggApp/index.js.map +1 -0
- package/utils/initializeFronteggApp/package.json +6 -0
- package/utils/jwt/index.d.ts +22 -0
- package/utils/jwt/index.js +61 -0
- package/utils/jwt/index.js.map +1 -0
- package/utils/jwt/package.json +6 -0
- package/utils/refreshAccessToken/helpers.d.ts +16 -0
- package/utils/refreshAccessToken/helpers.js +80 -0
- package/utils/refreshAccessToken/helpers.js.map +1 -0
- package/utils/refreshAccessToken/index.d.ts +9 -0
- package/utils/refreshAccessToken/index.js +94 -0
- package/utils/refreshAccessToken/index.js.map +1 -0
- package/utils/refreshAccessToken/package.json +6 -0
- package/utils/routing/index.d.ts +5 -0
- package/utils/routing/index.js +31 -0
- package/utils/routing/index.js.map +1 -0
- package/utils/routing/package.json +6 -0
- package/utils/useOnRedirectTo/index.d.ts +5 -0
- package/utils/useOnRedirectTo/index.js +28 -0
- package/utils/useOnRedirectTo/index.js.map +1 -0
- package/utils/useOnRedirectTo/package.json +6 -0
- package/CookieManager-e50dc144.js +0 -322
- package/CookieManager-e50dc144.js.map +0 -1
- package/FronteggClientProviderNext13-b3c1e7a0.js +0 -158
- package/FronteggClientProviderNext13-b3c1e7a0.js.map +0 -1
- package/FronteggMiddleware.d.ts +0 -15
- package/FronteggProvider.d.ts +0 -3
- package/api-25516652.js +0 -58
- package/api-25516652.js.map +0 -1
- package/client/FronteggClientProviderNext13.d.ts +0 -3
- package/client/index.d.ts +0 -2
- package/client/index.js +0 -64
- package/client/index.js.map +0 -1
- package/common/CookieManager.d.ts +0 -41
- package/common/FronteggConfig.d.ts +0 -31
- package/common/api.d.ts +0 -3
- package/common/client/ExpireInListener.d.ts +0 -2
- package/common/client/hooks/index.d.ts +0 -1
- package/common/client/hooks/useRequestAuthorizeSSR.d.ts +0 -5
- package/common/client/index.d.ts +0 -4
- package/common/consts.d.ts +0 -6
- package/common/createGetSession.d.ts +0 -7
- package/common/utils.d.ts +0 -1
- package/createGetSession-2e1e4506.js +0 -50
- package/createGetSession-2e1e4506.js.map +0 -1
- package/helpers-dac37998.js +0 -88
- package/helpers-dac37998.js.map +0 -1
- package/refreshToken.d.ts +0 -3
- package/server/FronteggProviderNext13.d.ts +0 -3
- package/server/getSessionNext13.d.ts +0 -4
- package/server/index.d.ts +0 -2
- package/server/index.js +0 -84
- package/server/index.js.map +0 -1
- package/withFronteggApp.d.ts +0 -11
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _config = _interopRequireDefault(require("../../config"));
|
|
9
|
+
var _edge = require("iron-session/edge");
|
|
10
|
+
// noinspection DuplicatedCode
|
|
11
|
+
// duplicated code for standard iron-session and iron-session/edge
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* IMPORTANT NOTE:
|
|
15
|
+
* This utils can be used only in edge runtime, for server/client runtime use the ./utils/encryption
|
|
16
|
+
**/
|
|
17
|
+
|
|
18
|
+
const unsealTokens = async cookie => {
|
|
19
|
+
const jwtData = await (0, _edge.unsealData)(cookie, {
|
|
20
|
+
password: _config.default.password
|
|
21
|
+
});
|
|
22
|
+
return JSON.parse(jwtData);
|
|
23
|
+
};
|
|
24
|
+
const sealTokens = async (tokens, ttl) => {
|
|
25
|
+
const dataToSeal = JSON.stringify(tokens);
|
|
26
|
+
return (0, _edge.sealData)(dataToSeal, {
|
|
27
|
+
password: _config.default.password,
|
|
28
|
+
ttl
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const encryptionUtils = {
|
|
32
|
+
unsealTokens,
|
|
33
|
+
sealTokens
|
|
34
|
+
};
|
|
35
|
+
var _default = encryptionUtils;
|
|
36
|
+
exports.default = _default;
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["unsealTokens","cookie","jwtData","unsealData","password","config","JSON","parse","sealTokens","tokens","ttl","dataToSeal","stringify","sealData","encryptionUtils"],"sources":["../../../../../packages/nextjs/src/utils/encryption-edge/index.ts"],"sourcesContent":["// noinspection DuplicatedCode\n// duplicated code for standard iron-session and iron-session/edge\n\nimport config from '../../config';\nimport { unsealData, sealData } from 'iron-session/edge';\nimport type { FronteggUserTokens, EncryptionUtils } from '../../types';\n\n/**\n * IMPORTANT NOTE:\n * This utils can be used only in edge runtime, for server/client runtime use the ./utils/encryption\n **/\n\nconst unsealTokens = async (cookie: string): Promise<FronteggUserTokens | undefined> => {\n const jwtData: string = await unsealData(cookie, {\n password: config.password,\n });\n return JSON.parse(jwtData);\n};\n\nconst sealTokens = async (tokens: FronteggUserTokens, ttl: number): Promise<string> => {\n const dataToSeal = JSON.stringify(tokens);\n return sealData(dataToSeal, {\n password: config.password,\n ttl,\n });\n};\n\nconst encryptionUtils: EncryptionUtils = {\n unsealTokens,\n sealTokens,\n};\n\nexport default encryptionUtils;\n"],"mappings":";;;;;;;AAGA;AACA;AAJA;AACA;;AAMA;AACA;AACA;AACA;;AAEA,MAAMA,YAAY,GAAG,MAAOC,MAAc,IAA8C;EACtF,MAAMC,OAAe,GAAG,MAAM,IAAAC,gBAAU,EAACF,MAAM,EAAE;IAC/CG,QAAQ,EAAEC,eAAM,CAACD;EACnB,CAAC,CAAC;EACF,OAAOE,IAAI,CAACC,KAAK,CAACL,OAAO,CAAC;AAC5B,CAAC;AAED,MAAMM,UAAU,GAAG,OAAOC,MAA0B,EAAEC,GAAW,KAAsB;EACrF,MAAMC,UAAU,GAAGL,IAAI,CAACM,SAAS,CAACH,MAAM,CAAC;EACzC,OAAO,IAAAI,cAAQ,EAACF,UAAU,EAAE;IAC1BP,QAAQ,EAAEC,eAAM,CAACD,QAAQ;IACzBM;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMI,eAAgC,GAAG;EACvCd,YAAY;EACZQ;AACF,CAAC;AAAC,eAEaM,eAAe;AAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FronteggEnvNotFound = void 0;
|
|
7
|
+
class FronteggEnvNotFound extends Error {
|
|
8
|
+
constructor(...name) {
|
|
9
|
+
const message = `Missing one or more environment variables (${name.join(', ')}). add it to the .env.local file.`;
|
|
10
|
+
super(message);
|
|
11
|
+
Object.setPrototypeOf(this, FronteggEnvNotFound.prototype);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.FronteggEnvNotFound = FronteggEnvNotFound;
|
|
15
|
+
//# sourceMappingURL=FronteggEnvNotFound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FronteggEnvNotFound.js","names":["FronteggEnvNotFound","Error","constructor","name","message","join","Object","setPrototypeOf","prototype"],"sources":["../../../../../packages/nextjs/src/utils/errors/FronteggEnvNotFound.ts"],"sourcesContent":["export class FronteggEnvNotFound extends Error {\n constructor(...name: string[]) {\n const message = `Missing one or more environment variables (${name.join(', ')}). add it to the .env.local file.`;\n super(message);\n Object.setPrototypeOf(this, FronteggEnvNotFound.prototype);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAW,CAAC,GAAGC,IAAc,EAAE;IAC7B,MAAMC,OAAO,GAAI,8CAA6CD,IAAI,CAACE,IAAI,CAAC,IAAI,CAAE,mCAAkC;IAChH,KAAK,CAACD,OAAO,CAAC;IACdE,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEP,mBAAmB,CAACQ,SAAS,CAAC;EAC5D;AACF;AAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.InvalidFronteggEnv = void 0;
|
|
7
|
+
class InvalidFronteggEnv extends Error {
|
|
8
|
+
constructor(name, type) {
|
|
9
|
+
const message = `Invalid environment variable (${name}), must be a valid ${type}`;
|
|
10
|
+
super(message);
|
|
11
|
+
Object.setPrototypeOf(this, InvalidFronteggEnv.prototype);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.InvalidFronteggEnv = InvalidFronteggEnv;
|
|
15
|
+
//# sourceMappingURL=InvalidFronteggEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidFronteggEnv.js","names":["InvalidFronteggEnv","Error","constructor","name","type","message","Object","setPrototypeOf","prototype"],"sources":["../../../../../packages/nextjs/src/utils/errors/InvalidFronteggEnv.ts"],"sourcesContent":["export class InvalidFronteggEnv extends Error {\n constructor(name: string, type: string) {\n const message = `Invalid environment variable (${name}), must be a valid ${type}`;\n super(message);\n Object.setPrototypeOf(this, InvalidFronteggEnv.prototype);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,SAASC,KAAK,CAAC;EAC5CC,WAAW,CAACC,IAAY,EAAEC,IAAY,EAAE;IACtC,MAAMC,OAAO,GAAI,iCAAgCF,IAAK,sBAAqBC,IAAK,EAAC;IACjF,KAAK,CAACC,OAAO,CAAC;IACdC,MAAM,CAACC,cAAc,CAAC,IAAI,EAAEP,kBAAkB,CAACQ,SAAS,CAAC;EAC3D;AACF;AAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _FronteggEnvNotFound = require("./FronteggEnvNotFound");
|
|
7
|
+
Object.keys(_FronteggEnvNotFound).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _FronteggEnvNotFound[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _FronteggEnvNotFound[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _InvalidFronteggEnv = require("./InvalidFronteggEnv");
|
|
18
|
+
Object.keys(_InvalidFronteggEnv).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _InvalidFronteggEnv[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _InvalidFronteggEnv[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../packages/nextjs/src/utils/errors/index.ts"],"sourcesContent":["export * from './FronteggEnvNotFound';\nexport * from './InvalidFronteggEnv';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AllUserData, FronteggNextJSSession } from '../../types';
|
|
2
|
+
type FetchUserDataOptions = {
|
|
3
|
+
getSession: () => Promise<FronteggNextJSSession | undefined | null>;
|
|
4
|
+
getHeaders: () => Promise<Record<string, string | string[] | undefined>>;
|
|
5
|
+
};
|
|
6
|
+
export default function fetchUserData(options: FetchUserDataOptions): Promise<AllUserData>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = fetchUserData;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _api = require("../../api");
|
|
10
|
+
var _common = require("../common");
|
|
11
|
+
var _fronteggLogger = _interopRequireDefault(require("../fronteggLogger"));
|
|
12
|
+
async function fetchUserData(options) {
|
|
13
|
+
const {
|
|
14
|
+
getSession,
|
|
15
|
+
getHeaders
|
|
16
|
+
} = options;
|
|
17
|
+
const logger = _fronteggLogger.default.child({
|
|
18
|
+
tag: 'fetchUserData.getAllUserData'
|
|
19
|
+
});
|
|
20
|
+
try {
|
|
21
|
+
const session = await getSession();
|
|
22
|
+
if (!session) {
|
|
23
|
+
logger.info('No session found');
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
const {
|
|
27
|
+
accessToken
|
|
28
|
+
} = session;
|
|
29
|
+
const reqHeaders = await getHeaders();
|
|
30
|
+
const headers = (0, _extends2.default)({}, reqHeaders, {
|
|
31
|
+
authorization: `Bearer ${accessToken}`
|
|
32
|
+
});
|
|
33
|
+
logger.debug('Retrieving user data...');
|
|
34
|
+
const [baseUserResult, tenantsResult] = await Promise.allSettled([(0, _api.getUsers)(headers), (0, _api.getTenants)(headers)]);
|
|
35
|
+
logger.debug('Retrieved user data:', 'baseUserResult: ', baseUserResult.status, 'tenantsResult:', tenantsResult.status);
|
|
36
|
+
const baseUser = baseUserResult.status === 'fulfilled' ? baseUserResult.value : null;
|
|
37
|
+
const tenants = tenantsResult.status === 'fulfilled' ? tenantsResult.value : null;
|
|
38
|
+
if (!baseUser || !tenants) {
|
|
39
|
+
logger.info('No base user or tenants found');
|
|
40
|
+
return {};
|
|
41
|
+
}
|
|
42
|
+
const user = (0, _extends2.default)({}, session.user, baseUser, {
|
|
43
|
+
expiresIn: (0, _common.calculateExpiresInFromExp)(session.user.exp)
|
|
44
|
+
});
|
|
45
|
+
logger.info('Retrieved all user data successfully');
|
|
46
|
+
return {
|
|
47
|
+
user,
|
|
48
|
+
session,
|
|
49
|
+
tenants
|
|
50
|
+
};
|
|
51
|
+
} catch (e) {
|
|
52
|
+
// logger.error(e.message, e);
|
|
53
|
+
return {};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["fetchUserData","options","getSession","getHeaders","logger","fronteggLogger","child","tag","session","info","accessToken","reqHeaders","headers","authorization","debug","baseUserResult","tenantsResult","Promise","allSettled","getUsers","getTenants","status","baseUser","value","tenants","user","expiresIn","calculateExpiresInFromExp","exp","e"],"sources":["../../../../../packages/nextjs/src/utils/fetchUserData/index.ts"],"sourcesContent":["import { AllUserData, FronteggNextJSSession } from '../../types';\nimport { getTenants, getUsers } from '../../api';\nimport { calculateExpiresInFromExp } from '../common';\nimport fronteggLogger from '../fronteggLogger';\n\ntype FetchUserDataOptions = {\n getSession: () => Promise<FronteggNextJSSession | undefined | null>;\n getHeaders: () => Promise<Record<string, string | string[] | undefined>>;\n};\n\nexport default async function fetchUserData(options: FetchUserDataOptions): Promise<AllUserData> {\n const { getSession, getHeaders } = options;\n\n const logger = fronteggLogger.child({ tag: 'fetchUserData.getAllUserData' });\n try {\n const session = await getSession();\n if (!session) {\n logger.info('No session found');\n return {};\n }\n\n const { accessToken } = session;\n const reqHeaders = await getHeaders();\n const headers = { ...reqHeaders, authorization: `Bearer ${accessToken}` };\n\n logger.debug('Retrieving user data...');\n const [baseUserResult, tenantsResult] = await Promise.allSettled([getUsers(headers), getTenants(headers)]);\n logger.debug(\n 'Retrieved user data:',\n 'baseUserResult: ',\n baseUserResult.status,\n 'tenantsResult:',\n tenantsResult.status\n );\n\n const baseUser = baseUserResult.status === 'fulfilled' ? baseUserResult.value : null;\n const tenants = tenantsResult.status === 'fulfilled' ? tenantsResult.value : null;\n\n if (!baseUser || !tenants) {\n logger.info('No base user or tenants found');\n return {};\n }\n\n const user = {\n ...session.user,\n ...baseUser!,\n expiresIn: calculateExpiresInFromExp(session.user.exp),\n };\n\n logger.info('Retrieved all user data successfully');\n\n return { user, session, tenants };\n } catch (e: any) {\n // logger.error(e.message, e);\n return {};\n }\n}\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAOe,eAAeA,aAAa,CAACC,OAA6B,EAAwB;EAC/F,MAAM;IAAEC,UAAU;IAAEC;EAAW,CAAC,GAAGF,OAAO;EAE1C,MAAMG,MAAM,GAAGC,uBAAc,CAACC,KAAK,CAAC;IAAEC,GAAG,EAAE;EAA+B,CAAC,CAAC;EAC5E,IAAI;IACF,MAAMC,OAAO,GAAG,MAAMN,UAAU,EAAE;IAClC,IAAI,CAACM,OAAO,EAAE;MACZJ,MAAM,CAACK,IAAI,CAAC,kBAAkB,CAAC;MAC/B,OAAO,CAAC,CAAC;IACX;IAEA,MAAM;MAAEC;IAAY,CAAC,GAAGF,OAAO;IAC/B,MAAMG,UAAU,GAAG,MAAMR,UAAU,EAAE;IACrC,MAAMS,OAAO,8BAAQD,UAAU;MAAEE,aAAa,EAAG,UAASH,WAAY;IAAC,EAAE;IAEzEN,MAAM,CAACU,KAAK,CAAC,yBAAyB,CAAC;IACvC,MAAM,CAACC,cAAc,EAAEC,aAAa,CAAC,GAAG,MAAMC,OAAO,CAACC,UAAU,CAAC,CAAC,IAAAC,aAAQ,EAACP,OAAO,CAAC,EAAE,IAAAQ,eAAU,EAACR,OAAO,CAAC,CAAC,CAAC;IAC1GR,MAAM,CAACU,KAAK,CACV,sBAAsB,EACtB,kBAAkB,EAClBC,cAAc,CAACM,MAAM,EACrB,gBAAgB,EAChBL,aAAa,CAACK,MAAM,CACrB;IAED,MAAMC,QAAQ,GAAGP,cAAc,CAACM,MAAM,KAAK,WAAW,GAAGN,cAAc,CAACQ,KAAK,GAAG,IAAI;IACpF,MAAMC,OAAO,GAAGR,aAAa,CAACK,MAAM,KAAK,WAAW,GAAGL,aAAa,CAACO,KAAK,GAAG,IAAI;IAEjF,IAAI,CAACD,QAAQ,IAAI,CAACE,OAAO,EAAE;MACzBpB,MAAM,CAACK,IAAI,CAAC,+BAA+B,CAAC;MAC5C,OAAO,CAAC,CAAC;IACX;IAEA,MAAMgB,IAAI,8BACLjB,OAAO,CAACiB,IAAI,EACZH,QAAQ;MACXI,SAAS,EAAE,IAAAC,iCAAyB,EAACnB,OAAO,CAACiB,IAAI,CAACG,GAAG;IAAC,EACvD;IAEDxB,MAAM,CAACK,IAAI,CAAC,sCAAsC,CAAC;IAEnD,OAAO;MAAEgB,IAAI;MAAEjB,OAAO;MAAEgB;IAAQ,CAAC;EACnC,CAAC,CAAC,OAAOK,CAAM,EAAE;IACf;IACA,OAAO,CAAC,CAAC;EACX;AACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map between level code and severity message
|
|
3
|
+
*/
|
|
4
|
+
export declare const LEVELS: Record<number, string>;
|
|
5
|
+
/**
|
|
6
|
+
* Map between severity message and level code
|
|
7
|
+
*/
|
|
8
|
+
export declare const LEVEL_NAMES: {
|
|
9
|
+
error: number;
|
|
10
|
+
warn: number;
|
|
11
|
+
info: number;
|
|
12
|
+
debug: number;
|
|
13
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LEVEL_NAMES = exports.LEVELS = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Map between level code and severity message
|
|
9
|
+
*/
|
|
10
|
+
const LEVELS = {
|
|
11
|
+
40: 'ERROR',
|
|
12
|
+
30: 'WARN',
|
|
13
|
+
20: 'INFO',
|
|
14
|
+
10: 'DEBUG'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Map between severity message and level code
|
|
19
|
+
*/
|
|
20
|
+
exports.LEVELS = LEVELS;
|
|
21
|
+
const LEVEL_NAMES = {
|
|
22
|
+
error: 40,
|
|
23
|
+
warn: 30,
|
|
24
|
+
info: 20,
|
|
25
|
+
debug: 10
|
|
26
|
+
};
|
|
27
|
+
exports.LEVEL_NAMES = LEVEL_NAMES;
|
|
28
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["LEVELS","LEVEL_NAMES","error","warn","info","debug"],"sources":["../../../../../packages/nextjs/src/utils/fronteggLogger/constants.ts"],"sourcesContent":["/**\n * Map between level code and severity message\n */\nexport const LEVELS: Record<number, string> = {\n 40: 'ERROR',\n 30: 'WARN',\n 20: 'INFO',\n 10: 'DEBUG',\n};\n\n/**\n * Map between severity message and level code\n */\nexport const LEVEL_NAMES = {\n error: 40,\n warn: 30,\n info: 20,\n debug: 10,\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,MAA8B,GAAG;EAC5C,EAAE,EAAE,OAAO;EACX,EAAE,EAAE,MAAM;EACV,EAAE,EAAE,MAAM;EACV,EAAE,EAAE;AACN,CAAC;;AAED;AACA;AACA;AAFA;AAGO,MAAMC,WAAW,GAAG;EACzBC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,KAAK,EAAE;AACT,CAAC;AAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LEVEL_NAMES } from './constants';
|
|
2
|
+
type FronteggLoggerOptions = {
|
|
3
|
+
tag: string;
|
|
4
|
+
level?: keyof typeof LEVEL_NAMES;
|
|
5
|
+
};
|
|
6
|
+
declare class FronteggLogger {
|
|
7
|
+
private readonly tag;
|
|
8
|
+
private readonly level;
|
|
9
|
+
constructor(options: FronteggLoggerOptions);
|
|
10
|
+
private prepare;
|
|
11
|
+
debug(...args: any[]): void;
|
|
12
|
+
info(...args: any[]): void;
|
|
13
|
+
warn(...args: any[]): void;
|
|
14
|
+
error(...args: any[]): void;
|
|
15
|
+
static child(options: FronteggLoggerOptions): FronteggLogger;
|
|
16
|
+
}
|
|
17
|
+
export default FronteggLogger;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _constants = require("./constants");
|
|
8
|
+
/**
|
|
9
|
+
* @see [enabling-debug-logging](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging)
|
|
10
|
+
* in GitHub actions in failed tests for more debugging logs
|
|
11
|
+
*/
|
|
12
|
+
const isGithubRunnerDebugMode = process.env.ACTIONS_STEP_DEBUG === 'true' || process.env.ACTIONS_RUNNER_DEBUG === 'true';
|
|
13
|
+
let logLevel = 'warn';
|
|
14
|
+
if (process.env.FRONTEGG_LOG_LEVEL) {
|
|
15
|
+
logLevel = process.env.FRONTEGG_LOG_LEVEL;
|
|
16
|
+
}
|
|
17
|
+
if (isGithubRunnerDebugMode) {
|
|
18
|
+
logLevel = 'debug';
|
|
19
|
+
}
|
|
20
|
+
if (Object.keys(_constants.LEVEL_NAMES).indexOf(logLevel) === -1) {
|
|
21
|
+
logLevel = 'warn';
|
|
22
|
+
}
|
|
23
|
+
const maxTagLength = 25;
|
|
24
|
+
function repeat(num) {
|
|
25
|
+
return [...new Array(num)].map(() => ' ').join('');
|
|
26
|
+
}
|
|
27
|
+
class FronteggLogger {
|
|
28
|
+
constructor(options) {
|
|
29
|
+
var _options$level;
|
|
30
|
+
this.tag = void 0;
|
|
31
|
+
this.level = void 0;
|
|
32
|
+
if (options.tag.length > maxTagLength) {
|
|
33
|
+
this.tag = options.tag.slice(0, 7) + '...' + options.tag.slice(options.tag.length - maxTagLength + 10);
|
|
34
|
+
} else {
|
|
35
|
+
this.tag = repeat(maxTagLength - options.tag.length) + options.tag;
|
|
36
|
+
}
|
|
37
|
+
this.level = (_options$level = options.level) != null ? _options$level : logLevel;
|
|
38
|
+
}
|
|
39
|
+
prepare(printLevel, args) {
|
|
40
|
+
const levelName = _constants.LEVELS[_constants.LEVEL_NAMES[printLevel]];
|
|
41
|
+
return [new Date().toISOString(), `|${levelName}| ${this.tag}:`, ...args];
|
|
42
|
+
}
|
|
43
|
+
debug(...args) {
|
|
44
|
+
if (_constants.LEVEL_NAMES[this.level] <= _constants.LEVEL_NAMES.debug) {
|
|
45
|
+
console.debug.apply(console, this.prepare('debug', args));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
info(...args) {
|
|
49
|
+
if (_constants.LEVEL_NAMES[this.level] <= _constants.LEVEL_NAMES.info) {
|
|
50
|
+
console.info.apply(console, this.prepare('info', args));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
warn(...args) {
|
|
54
|
+
if (_constants.LEVEL_NAMES[this.level] <= _constants.LEVEL_NAMES.warn) {
|
|
55
|
+
console.warn.apply(console, this.prepare('warn', args));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
error(...args) {
|
|
59
|
+
console.error.apply(console, this.prepare('error', args));
|
|
60
|
+
}
|
|
61
|
+
static child(options) {
|
|
62
|
+
return new FronteggLogger(options);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
var _default = FronteggLogger;
|
|
66
|
+
exports.default = _default;
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["isGithubRunnerDebugMode","process","env","ACTIONS_STEP_DEBUG","ACTIONS_RUNNER_DEBUG","logLevel","FRONTEGG_LOG_LEVEL","Object","keys","LEVEL_NAMES","indexOf","maxTagLength","repeat","num","Array","map","join","FronteggLogger","constructor","options","tag","level","length","slice","prepare","printLevel","args","levelName","LEVELS","Date","toISOString","debug","console","apply","info","warn","error","child"],"sources":["../../../../../packages/nextjs/src/utils/fronteggLogger/index.ts"],"sourcesContent":["import { LEVEL_NAMES, LEVELS } from './constants';\n\n/**\n * @see [enabling-debug-logging](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging)\n * in GitHub actions in failed tests for more debugging logs\n */\nconst isGithubRunnerDebugMode =\n process.env.ACTIONS_STEP_DEBUG === 'true' || process.env.ACTIONS_RUNNER_DEBUG === 'true';\n\nlet logLevel: keyof typeof LEVEL_NAMES = 'warn';\nif (process.env.FRONTEGG_LOG_LEVEL) {\n logLevel = process.env.FRONTEGG_LOG_LEVEL as keyof typeof LEVEL_NAMES;\n}\nif (isGithubRunnerDebugMode) {\n logLevel = 'debug';\n}\nif (Object.keys(LEVEL_NAMES).indexOf(logLevel) === -1) {\n logLevel = 'warn';\n}\n\ntype FronteggLoggerOptions = {\n tag: string;\n level?: keyof typeof LEVEL_NAMES;\n};\n\nconst maxTagLength = 25;\n\nfunction repeat(num: number) {\n return [...new Array(num)].map(() => ' ').join('');\n}\n\nclass FronteggLogger {\n private readonly tag: string;\n private readonly level: keyof typeof LEVEL_NAMES;\n\n constructor(options: FronteggLoggerOptions) {\n if (options.tag.length > maxTagLength) {\n this.tag = options.tag.slice(0, 7) + '...' + options.tag.slice(options.tag.length - maxTagLength + 10);\n } else {\n this.tag = repeat(maxTagLength - options.tag.length) + options.tag;\n }\n\n this.level = options.level ?? logLevel;\n }\n\n private prepare(printLevel: keyof typeof LEVEL_NAMES, args: any[]) {\n const levelName = LEVELS[LEVEL_NAMES[printLevel]];\n return [new Date().toISOString(), `|${levelName}| ${this.tag}:`, ...args];\n }\n\n debug(...args: any[]) {\n if (LEVEL_NAMES[this.level] <= LEVEL_NAMES.debug) {\n console.debug.apply(console, this.prepare('debug', args));\n }\n }\n\n info(...args: any[]) {\n if (LEVEL_NAMES[this.level] <= LEVEL_NAMES.info) {\n console.info.apply(console, this.prepare('info', args));\n }\n }\n\n warn(...args: any[]) {\n if (LEVEL_NAMES[this.level] <= LEVEL_NAMES.warn) {\n console.warn.apply(console, this.prepare('warn', args));\n }\n }\n\n error(...args: any[]) {\n console.error.apply(console, this.prepare('error', args));\n }\n\n static child(options: FronteggLoggerOptions): FronteggLogger {\n return new FronteggLogger(options);\n }\n}\n\nexport default FronteggLogger;\n"],"mappings":"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"}
|
package/{common/client/createOrGetFronteggApp.d.ts → utils/initializeFronteggApp/index.d.ts}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { FronteggApp } from '@frontegg/js';
|
|
2
|
-
import { AuthState } from '@frontegg/redux-store';
|
|
3
|
-
import { FronteggProviderOptions } from '
|
|
4
|
-
type CreateOrGetFronteggAppParams = {
|
|
5
|
-
options: FronteggProviderOptions;
|
|
6
|
-
onRedirectTo: AuthState['onRedirectTo'];
|
|
7
|
-
appName?: string;
|
|
8
|
-
storeHolder: any;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export
|
|
1
|
+
import { FronteggApp } from '@frontegg/js';
|
|
2
|
+
import { AuthState } from '@frontegg/redux-store';
|
|
3
|
+
import type { FronteggProviderOptions } from '../../types';
|
|
4
|
+
type CreateOrGetFronteggAppParams = {
|
|
5
|
+
options: FronteggProviderOptions;
|
|
6
|
+
onRedirectTo: AuthState['onRedirectTo'];
|
|
7
|
+
appName?: string;
|
|
8
|
+
storeHolder: any;
|
|
9
|
+
};
|
|
10
|
+
declare const initializeFronteggApp: ({ options, onRedirectTo, appName, storeHolder, }: CreateOrGetFronteggAppParams) => FronteggApp;
|
|
11
|
+
export default initializeFronteggApp;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _js = require("@frontegg/js");
|
|
10
|
+
var _reduxStore = require("@frontegg/redux-store");
|
|
11
|
+
var _sdkVersion = _interopRequireDefault(require("../../sdkVersion"));
|
|
12
|
+
var _package = _interopRequireDefault(require("next/package.json"));
|
|
13
|
+
var _utils = require("../../api/utils");
|
|
14
|
+
const initializeFronteggApp = ({
|
|
15
|
+
options,
|
|
16
|
+
onRedirectTo,
|
|
17
|
+
appName,
|
|
18
|
+
storeHolder
|
|
19
|
+
}) => {
|
|
20
|
+
var _options$authOptions, _options$authOptions2, _options$hostedLoginB, _options$authOptions$, _options$authOptions3, _options$auditsOption;
|
|
21
|
+
const {
|
|
22
|
+
session,
|
|
23
|
+
user,
|
|
24
|
+
tenants
|
|
25
|
+
} = options;
|
|
26
|
+
const {
|
|
27
|
+
accessToken,
|
|
28
|
+
refreshToken
|
|
29
|
+
} = session != null ? session : {};
|
|
30
|
+
const contextOptions = (0, _extends2.default)({
|
|
31
|
+
requestCredentials: 'include'
|
|
32
|
+
}, options.contextOptions, {
|
|
33
|
+
additionalHeadersResolver: async () => {
|
|
34
|
+
var _options$contextOptio;
|
|
35
|
+
const additionalHeaders = [];
|
|
36
|
+
const originalAdditionalHeadersResolver = (_options$contextOptio = options.contextOptions) == null ? void 0 : _options$contextOptio.additionalHeadersResolver;
|
|
37
|
+
if (typeof originalAdditionalHeadersResolver === 'function') {
|
|
38
|
+
try {
|
|
39
|
+
additionalHeaders.push(...(await originalAdditionalHeadersResolver()));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
/** ignore failed additionalHeadersResolver */
|
|
42
|
+
}
|
|
43
|
+
} else if (Array.isArray(originalAdditionalHeadersResolver)) {
|
|
44
|
+
additionalHeaders.push(...originalAdditionalHeadersResolver);
|
|
45
|
+
}
|
|
46
|
+
additionalHeaders.push({
|
|
47
|
+
key: 'x-frontegg-framework',
|
|
48
|
+
value: `next@${_package.default.version}`
|
|
49
|
+
});
|
|
50
|
+
additionalHeaders.push({
|
|
51
|
+
key: 'x-frontegg-sdk',
|
|
52
|
+
value: `@frontegg/nextjs@${_sdkVersion.default.version}`
|
|
53
|
+
});
|
|
54
|
+
return additionalHeaders;
|
|
55
|
+
},
|
|
56
|
+
baseUrl: path => {
|
|
57
|
+
const shouldGoThroughFronteggMiddleWare = (0, _utils.isAuthPath)(path) && !(0, _utils.isSocialLoginPath)(path);
|
|
58
|
+
if (shouldGoThroughFronteggMiddleWare) {
|
|
59
|
+
return `${options.envAppUrl}/api`;
|
|
60
|
+
} else {
|
|
61
|
+
return options.envBaseUrl;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
clientId: options.envClientId
|
|
65
|
+
});
|
|
66
|
+
const tenantsState = (0, _extends2.default)({}, _reduxStore.tenantsState, {
|
|
67
|
+
tenants: tenants || []
|
|
68
|
+
}, (_options$authOptions = options.authOptions) == null ? void 0 : _options$authOptions.tenantsState);
|
|
69
|
+
const userData = user ? (0, _extends2.default)({}, user, {
|
|
70
|
+
accessToken: accessToken != null ? accessToken : '',
|
|
71
|
+
refreshToken: refreshToken != null ? refreshToken : undefined
|
|
72
|
+
}, (_options$authOptions2 = options.authOptions) == null ? void 0 : _options$authOptions2.user) : null;
|
|
73
|
+
const authOptions = (0, _extends2.default)({}, options.authOptions, {
|
|
74
|
+
onRedirectTo,
|
|
75
|
+
isLoading: false,
|
|
76
|
+
isAuthenticated: !!options.session,
|
|
77
|
+
hostedLoginBox: (_options$hostedLoginB = options.hostedLoginBox) != null ? _options$hostedLoginB : false,
|
|
78
|
+
disableSilentRefresh: (_options$authOptions$ = (_options$authOptions3 = options.authOptions) == null ? void 0 : _options$authOptions3.disableSilentRefresh) != null ? _options$authOptions$ : true,
|
|
79
|
+
user: userData,
|
|
80
|
+
tenantsState
|
|
81
|
+
});
|
|
82
|
+
const sharedStore = (0, _reduxStore.createFronteggStore)({
|
|
83
|
+
context: contextOptions
|
|
84
|
+
}, storeHolder, options.previewMode, authOptions, {
|
|
85
|
+
auth: authOptions != null ? authOptions : {},
|
|
86
|
+
audits: (_options$auditsOption = options.auditsOptions) != null ? _options$auditsOption : {}
|
|
87
|
+
}, false, options.urlStrategy);
|
|
88
|
+
let createdApp;
|
|
89
|
+
try {
|
|
90
|
+
createdApp = _js.AppHolder.getInstance(appName != null ? appName : 'default');
|
|
91
|
+
createdApp.store = sharedStore;
|
|
92
|
+
} catch (e) {
|
|
93
|
+
var _options$hostedLoginB2, _options$customLoginB;
|
|
94
|
+
createdApp = (0, _js.initialize)((0, _extends2.default)({}, options, {
|
|
95
|
+
store: sharedStore,
|
|
96
|
+
hostedLoginBox: (_options$hostedLoginB2 = options.hostedLoginBox) != null ? _options$hostedLoginB2 : false,
|
|
97
|
+
customLoginBox: (_options$customLoginB = options.customLoginBox) != null ? _options$customLoginB : false,
|
|
98
|
+
basename: options.basename,
|
|
99
|
+
authOptions,
|
|
100
|
+
contextOptions,
|
|
101
|
+
onRedirectTo
|
|
102
|
+
}), appName != null ? appName : 'default');
|
|
103
|
+
}
|
|
104
|
+
return createdApp;
|
|
105
|
+
};
|
|
106
|
+
var _default = initializeFronteggApp;
|
|
107
|
+
exports.default = _default;
|
|
108
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["initializeFronteggApp","options","onRedirectTo","appName","storeHolder","session","user","tenants","accessToken","refreshToken","contextOptions","requestCredentials","additionalHeadersResolver","additionalHeaders","originalAdditionalHeadersResolver","push","e","Array","isArray","key","value","nextjsPkg","version","sdkVersion","baseUrl","path","shouldGoThroughFronteggMiddleWare","isAuthPath","isSocialLoginPath","envAppUrl","envBaseUrl","clientId","envClientId","tenantsState","defaultTenantsState","authOptions","userData","undefined","isLoading","isAuthenticated","hostedLoginBox","disableSilentRefresh","sharedStore","createFronteggStore","context","previewMode","auth","audits","auditsOptions","urlStrategy","createdApp","AppHolder","getInstance","store","initialize","customLoginBox","basename"],"sources":["../../../../../packages/nextjs/src/utils/initializeFronteggApp/index.ts"],"sourcesContent":["import { AppHolder, FronteggApp, initialize } from '@frontegg/js';\nimport { createFronteggStore, AuthState, tenantsState as defaultTenantsState } from '@frontegg/redux-store';\nimport { KeyValuePair } from '@frontegg/rest-api';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport sdkVersion from '../../sdkVersion';\nimport type { FronteggProviderOptions } from '../../types';\nimport nextjsPkg from 'next/package.json';\nimport { isAuthPath, isSocialLoginPath } from '../../api/utils';\n\ntype CreateOrGetFronteggAppParams = {\n options: FronteggProviderOptions;\n onRedirectTo: AuthState['onRedirectTo'];\n appName?: string;\n storeHolder: any;\n};\n\nconst initializeFronteggApp = ({\n options,\n onRedirectTo,\n appName,\n storeHolder,\n}: CreateOrGetFronteggAppParams): FronteggApp => {\n const { session, user, tenants } = options;\n const { accessToken, refreshToken } = session ?? {};\n\n const contextOptions: FronteggAppOptions['contextOptions'] = {\n requestCredentials: 'include' as RequestCredentials,\n ...options.contextOptions,\n additionalHeadersResolver: async () => {\n const additionalHeaders: KeyValuePair[] = [];\n const originalAdditionalHeadersResolver = options.contextOptions?.additionalHeadersResolver;\n if (typeof originalAdditionalHeadersResolver === 'function') {\n try {\n additionalHeaders.push(...(await originalAdditionalHeadersResolver()));\n } catch (e) {\n /** ignore failed additionalHeadersResolver */\n }\n } else if (Array.isArray(originalAdditionalHeadersResolver)) {\n additionalHeaders.push(...(originalAdditionalHeadersResolver as KeyValuePair[]));\n }\n additionalHeaders.push({\n key: 'x-frontegg-framework',\n value: `next@${nextjsPkg.version}`,\n });\n additionalHeaders.push({\n key: 'x-frontegg-sdk',\n value: `@frontegg/nextjs@${sdkVersion.version}`,\n });\n return additionalHeaders;\n },\n baseUrl: (path: string) => {\n const shouldGoThroughFronteggMiddleWare = isAuthPath(path) && !isSocialLoginPath(path);\n if (shouldGoThroughFronteggMiddleWare) {\n return `${options.envAppUrl}/api`;\n } else {\n return options.envBaseUrl;\n }\n },\n clientId: options.envClientId,\n };\n\n const tenantsState = {\n ...defaultTenantsState,\n tenants: tenants || [],\n ...options.authOptions?.tenantsState,\n };\n const userData = user\n ? {\n ...user,\n accessToken: accessToken ?? '',\n refreshToken: refreshToken ?? undefined,\n ...options.authOptions?.user,\n }\n : null;\n\n const authOptions: FronteggAppOptions['authOptions'] = {\n ...options.authOptions,\n onRedirectTo,\n isLoading: false,\n isAuthenticated: !!options.session,\n hostedLoginBox: options.hostedLoginBox ?? false,\n disableSilentRefresh: options.authOptions?.disableSilentRefresh ?? true,\n user: userData,\n tenantsState,\n };\n\n const sharedStore = createFronteggStore(\n { context: contextOptions },\n storeHolder,\n options.previewMode,\n authOptions,\n {\n auth: authOptions ?? {},\n audits: options.auditsOptions ?? {},\n },\n false,\n options.urlStrategy\n );\n\n let createdApp;\n try {\n createdApp = AppHolder.getInstance(appName ?? 'default');\n createdApp.store = sharedStore;\n } catch (e) {\n createdApp = initialize(\n {\n ...options,\n store: sharedStore,\n hostedLoginBox: options.hostedLoginBox ?? false,\n customLoginBox: options.customLoginBox ?? false,\n basename: options.basename,\n authOptions,\n contextOptions,\n onRedirectTo,\n },\n appName ?? 'default'\n );\n }\n return createdApp;\n};\n\nexport default initializeFronteggApp;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { JWTVerifyResult } from 'jose/dist/types/types';
|
|
2
|
+
declare class JwtUtils {
|
|
3
|
+
private publicKey;
|
|
4
|
+
/**
|
|
5
|
+
* Get the JWT public key from Frontegg service
|
|
6
|
+
* to verify user's access token when calling getSession
|
|
7
|
+
* in getServerSideProps and ServerComponents
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
private loadPublicKey;
|
|
11
|
+
/**
|
|
12
|
+
* Load public key from Frontegg services if not cached
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
private getPublicKey;
|
|
16
|
+
/**
|
|
17
|
+
* verify JWT token with current loaded public key from Frontegg services
|
|
18
|
+
*/
|
|
19
|
+
verify(jwt: string | Uint8Array): Promise<JWTVerifyResult>;
|
|
20
|
+
}
|
|
21
|
+
declare const _default: JwtUtils;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _jose = require("jose");
|
|
9
|
+
var _api = _interopRequireDefault(require("../../api"));
|
|
10
|
+
var _fronteggLogger = _interopRequireDefault(require("../fronteggLogger"));
|
|
11
|
+
var _config = _interopRequireDefault(require("../../config"));
|
|
12
|
+
class JwtUtils {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.publicKey = void 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get the JWT public key from Frontegg service
|
|
18
|
+
* to verify user's access token when calling getSession
|
|
19
|
+
* in getServerSideProps and ServerComponents
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
async loadPublicKey() {
|
|
23
|
+
const logger = _fronteggLogger.default.child({
|
|
24
|
+
tag: 'JwtManager.loadPublicKey'
|
|
25
|
+
});
|
|
26
|
+
let publicKey;
|
|
27
|
+
try {
|
|
28
|
+
var _config$jwtPublicKeyJ;
|
|
29
|
+
publicKey = JSON.parse((_config$jwtPublicKeyJ = _config.default.jwtPublicKeyJson) != null ? _config$jwtPublicKeyJ : '{}');
|
|
30
|
+
logger.info('Public key loaded from env variable');
|
|
31
|
+
} catch (e) {
|
|
32
|
+
logger.info('Going to load public key from frontegg jwks');
|
|
33
|
+
publicKey = await _api.default.loadPublicKey();
|
|
34
|
+
}
|
|
35
|
+
logger.info('Importing Public key into jose');
|
|
36
|
+
this.publicKey = await (0, _jose.importJWK)(publicKey, publicKey.alg);
|
|
37
|
+
return this.publicKey;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Load public key from Frontegg services if not cached
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
async getPublicKey() {
|
|
45
|
+
if (this.publicKey === undefined) {
|
|
46
|
+
return await this.loadPublicKey();
|
|
47
|
+
}
|
|
48
|
+
return this.publicKey;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* verify JWT token with current loaded public key from Frontegg services
|
|
53
|
+
*/
|
|
54
|
+
async verify(jwt) {
|
|
55
|
+
const publicKey = await this.getPublicKey();
|
|
56
|
+
return await (0, _jose.jwtVerify)(jwt, publicKey);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
var _default = new JwtUtils();
|
|
60
|
+
exports.default = _default;
|
|
61
|
+
//# sourceMappingURL=index.js.map
|