@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.
Files changed (259) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +19 -37
  3. package/api/index.d.ts +19 -0
  4. package/api/index.js +87 -0
  5. package/api/index.js.map +1 -0
  6. package/api/package.json +6 -0
  7. package/api/urls.d.ts +33 -0
  8. package/api/urls.js +56 -0
  9. package/api/urls.js.map +1 -0
  10. package/api/utils.d.ts +46 -0
  11. package/api/utils.js +123 -0
  12. package/api/utils.js.map +1 -0
  13. package/app/ClientFronteggProvider.d.ts +3 -0
  14. package/app/ClientFronteggProvider.js +32 -0
  15. package/app/ClientFronteggProvider.js.map +1 -0
  16. package/app/FronteggAppProvider.d.ts +4 -0
  17. package/app/FronteggAppProvider.js +25 -0
  18. package/app/FronteggAppProvider.js.map +1 -0
  19. package/{client → app}/FronteggAppRouter.d.ts +11 -10
  20. package/app/FronteggAppRouter.js +38 -0
  21. package/app/FronteggAppRouter.js.map +1 -0
  22. package/app/helpers.d.ts +5 -0
  23. package/app/helpers.js +43 -0
  24. package/app/helpers.js.map +1 -0
  25. package/app/index.d.ts +4 -0
  26. package/app/index.js +39 -0
  27. package/app/index.js.map +1 -0
  28. package/app/package.json +6 -0
  29. package/common/{client/AppContext.d.ts → AppContext.d.ts} +4 -4
  30. package/common/AppContext.js +12 -0
  31. package/common/AppContext.js.map +1 -0
  32. package/{AuthorizedContent.d.ts → common/AuthorizedContent.d.ts} +9 -8
  33. package/common/AuthorizedContent.js +54 -0
  34. package/common/AuthorizedContent.js.map +1 -0
  35. package/common/{client/FronteggBaseProvider.d.ts → FronteggBaseProvider.d.ts} +3 -3
  36. package/common/FronteggBaseProvider.js +76 -0
  37. package/common/FronteggBaseProvider.js.map +1 -0
  38. package/common/FronteggRouterBase.d.ts +9 -0
  39. package/common/FronteggRouterBase.js +48 -0
  40. package/common/FronteggRouterBase.js.map +1 -0
  41. package/common/helpers.d.ts +3 -9
  42. package/common/helpers.js +32 -0
  43. package/common/helpers.js.map +1 -0
  44. package/common/index.d.ts +4 -6
  45. package/common/index.js +45 -10
  46. package/common/index.js.map +1 -1
  47. package/common/package.json +6 -0
  48. package/common/useRequestAuthorizeSSR.d.ts +5 -0
  49. package/common/useRequestAuthorizeSSR.js +30 -0
  50. package/common/useRequestAuthorizeSSR.js.map +1 -0
  51. package/config/constants.d.ts +57 -0
  52. package/config/constants.js +20 -0
  53. package/config/constants.js.map +1 -0
  54. package/config/helpers.d.ts +28 -0
  55. package/config/helpers.js +97 -0
  56. package/config/helpers.js.map +1 -0
  57. package/config/index.d.ts +24 -0
  58. package/config/index.js +94 -0
  59. package/config/index.js.map +1 -0
  60. package/config/package.json +6 -0
  61. package/config/types.d.ts +18 -0
  62. package/config/types.js +6 -0
  63. package/config/types.js.map +1 -0
  64. package/edge/getSessionOnEdge.d.ts +3 -2
  65. package/edge/getSessionOnEdge.js +16 -0
  66. package/edge/getSessionOnEdge.js.map +1 -0
  67. package/edge/index.d.ts +3 -2
  68. package/edge/index.js +38 -63
  69. package/edge/index.js.map +1 -1
  70. package/edge/package.json +6 -0
  71. package/edge/redirectToLogin.d.ts +2 -0
  72. package/edge/redirectToLogin.js +16 -0
  73. package/edge/redirectToLogin.js.map +1 -0
  74. package/edge/shouldBypassMiddleware.d.ts +21 -7
  75. package/edge/shouldBypassMiddleware.js +50 -0
  76. package/edge/shouldBypassMiddleware.js.map +1 -0
  77. package/index.d.ts +7 -11
  78. package/index.js +98 -1392
  79. package/index.js.map +1 -1
  80. package/middleware/FronteggApiMiddleware.d.ts +8 -0
  81. package/middleware/FronteggApiMiddleware.js +34 -0
  82. package/middleware/FronteggApiMiddleware.js.map +1 -0
  83. package/middleware/FronteggProxy.d.ts +4 -0
  84. package/middleware/FronteggProxy.js +31 -0
  85. package/middleware/FronteggProxy.js.map +1 -0
  86. package/middleware/ProxyRequestCallback.d.ts +13 -0
  87. package/middleware/ProxyRequestCallback.js +56 -0
  88. package/middleware/ProxyRequestCallback.js.map +1 -0
  89. package/middleware/ProxyResponseCallback.d.ts +13 -0
  90. package/middleware/ProxyResponseCallback.js +111 -0
  91. package/middleware/ProxyResponseCallback.js.map +1 -0
  92. package/middleware/constants.d.ts +8 -0
  93. package/middleware/constants.js +17 -0
  94. package/middleware/constants.js.map +1 -0
  95. package/{common/FronteggProxy.d.ts → middleware/helpers.d.ts} +13 -26
  96. package/middleware/helpers.js +42 -0
  97. package/middleware/helpers.js.map +1 -0
  98. package/middleware/index.d.ts +23 -0
  99. package/middleware/index.js +13 -0
  100. package/middleware/index.js.map +1 -0
  101. package/middleware/package.json +6 -0
  102. package/no-ssr/ExpireInListener.d.ts +2 -0
  103. package/no-ssr/ExpireInListener.js +29 -0
  104. package/no-ssr/ExpireInListener.js.map +1 -0
  105. package/{FronteggProviderNoSSR.d.ts → no-ssr/FronteggProviderNoSSR.d.ts} +4 -4
  106. package/no-ssr/FronteggProviderNoSSR.js +84 -0
  107. package/no-ssr/FronteggProviderNoSSR.js.map +1 -0
  108. package/no-ssr/index.d.ts +2 -0
  109. package/no-ssr/index.js +13 -0
  110. package/no-ssr/index.js.map +1 -0
  111. package/no-ssr/package.json +6 -0
  112. package/package.json +6 -7
  113. package/pages/FronteggPagesProvider/index.d.ts +4 -0
  114. package/pages/FronteggPagesProvider/index.js +32 -0
  115. package/pages/FronteggPagesProvider/index.js.map +1 -0
  116. package/pages/FronteggPagesProvider/package.json +6 -0
  117. package/{FronteggRouter.d.ts → pages/FronteggRouter/FronteggRouter.d.ts} +6 -5
  118. package/pages/FronteggRouter/FronteggRouter.js +46 -0
  119. package/pages/FronteggRouter/FronteggRouter.js.map +1 -0
  120. package/pages/FronteggRouter/index.d.ts +26 -0
  121. package/pages/FronteggRouter/index.js +19 -0
  122. package/pages/FronteggRouter/index.js.map +1 -0
  123. package/pages/FronteggRouter/package.json +6 -0
  124. package/{session.d.ts → pages/helpers.d.ts} +10 -10
  125. package/pages/helpers.js +40 -0
  126. package/pages/helpers.js.map +1 -0
  127. package/pages/index.d.ts +3 -0
  128. package/pages/index.js +47 -0
  129. package/pages/index.js.map +1 -0
  130. package/pages/package.json +6 -0
  131. package/pages/withFronteggApp/index.d.ts +2 -0
  132. package/pages/withFronteggApp/index.js +13 -0
  133. package/pages/withFronteggApp/index.js.map +1 -0
  134. package/pages/withFronteggApp/package.json +6 -0
  135. package/pages/withFronteggApp/types.d.ts +12 -0
  136. package/pages/withFronteggApp/types.js +6 -0
  137. package/pages/withFronteggApp/types.js.map +1 -0
  138. package/pages/withFronteggApp/withFronteggApp.d.ts +2 -0
  139. package/pages/withFronteggApp/withFronteggApp.js +70 -0
  140. package/pages/withFronteggApp/withFronteggApp.js.map +1 -0
  141. package/sdkVersion.d.ts +4 -4
  142. package/sdkVersion.js +11 -0
  143. package/sdkVersion.js.map +1 -0
  144. package/{common/types.d.ts → types/index.d.ts} +80 -74
  145. package/types/index.js +6 -0
  146. package/types/index.js.map +1 -0
  147. package/types/package.json +6 -0
  148. package/utils/common/constants.d.ts +12 -0
  149. package/utils/common/constants.js +23 -0
  150. package/utils/common/constants.js.map +1 -0
  151. package/utils/common/index.d.ts +15 -0
  152. package/utils/common/index.js +32 -0
  153. package/utils/common/index.js.map +1 -0
  154. package/utils/common/package.json +6 -0
  155. package/utils/cookies/constants.d.ts +7 -0
  156. package/utils/cookies/constants.js +15 -0
  157. package/utils/cookies/constants.js.map +1 -0
  158. package/utils/cookies/helpers.d.ts +25 -0
  159. package/utils/cookies/helpers.js +64 -0
  160. package/utils/cookies/helpers.js.map +1 -0
  161. package/utils/cookies/index.d.ts +45 -0
  162. package/utils/cookies/index.js +239 -0
  163. package/utils/cookies/index.js.map +1 -0
  164. package/utils/cookies/package.json +6 -0
  165. package/utils/cookies/serializer.d.ts +22 -0
  166. package/utils/cookies/serializer.js +161 -0
  167. package/utils/cookies/serializer.js.map +1 -0
  168. package/utils/cookies/types.d.ts +31 -0
  169. package/utils/cookies/types.js +6 -0
  170. package/utils/cookies/types.js.map +1 -0
  171. package/utils/createSession/index.d.ts +2 -0
  172. package/utils/createSession/index.js +51 -0
  173. package/utils/createSession/index.js.map +1 -0
  174. package/utils/createSession/package.json +6 -0
  175. package/utils/encryption/index.d.ts +3 -0
  176. package/utils/encryption/index.js +37 -0
  177. package/utils/encryption/index.js.map +1 -0
  178. package/utils/encryption/package.json +6 -0
  179. package/utils/encryption-edge/index.d.ts +3 -0
  180. package/utils/encryption-edge/index.js +37 -0
  181. package/utils/encryption-edge/index.js.map +1 -0
  182. package/utils/encryption-edge/package.json +6 -0
  183. package/utils/errors/FronteggEnvNotFound.d.ts +3 -0
  184. package/utils/errors/FronteggEnvNotFound.js +15 -0
  185. package/utils/errors/FronteggEnvNotFound.js.map +1 -0
  186. package/utils/errors/InvalidFronteggEnv.d.ts +3 -0
  187. package/utils/errors/InvalidFronteggEnv.js +15 -0
  188. package/utils/errors/InvalidFronteggEnv.js.map +1 -0
  189. package/utils/errors/index.d.ts +2 -0
  190. package/utils/errors/index.js +28 -0
  191. package/utils/errors/index.js.map +1 -0
  192. package/utils/errors/package.json +6 -0
  193. package/utils/fetchUserData/index.d.ts +7 -0
  194. package/utils/fetchUserData/index.js +56 -0
  195. package/utils/fetchUserData/index.js.map +1 -0
  196. package/utils/fetchUserData/package.json +6 -0
  197. package/utils/fronteggLogger/constants.d.ts +13 -0
  198. package/utils/fronteggLogger/constants.js +28 -0
  199. package/utils/fronteggLogger/constants.js.map +1 -0
  200. package/utils/fronteggLogger/index.d.ts +17 -0
  201. package/utils/fronteggLogger/index.js +67 -0
  202. package/utils/fronteggLogger/index.js.map +1 -0
  203. package/utils/fronteggLogger/package.json +6 -0
  204. package/{common/client/createOrGetFronteggApp.d.ts → utils/initializeFronteggApp/index.d.ts} +11 -11
  205. package/utils/initializeFronteggApp/index.js +108 -0
  206. package/utils/initializeFronteggApp/index.js.map +1 -0
  207. package/utils/initializeFronteggApp/package.json +6 -0
  208. package/utils/jwt/index.d.ts +22 -0
  209. package/utils/jwt/index.js +61 -0
  210. package/utils/jwt/index.js.map +1 -0
  211. package/utils/jwt/package.json +6 -0
  212. package/utils/refreshAccessToken/helpers.d.ts +16 -0
  213. package/utils/refreshAccessToken/helpers.js +80 -0
  214. package/utils/refreshAccessToken/helpers.js.map +1 -0
  215. package/utils/refreshAccessToken/index.d.ts +9 -0
  216. package/utils/refreshAccessToken/index.js +94 -0
  217. package/utils/refreshAccessToken/index.js.map +1 -0
  218. package/utils/refreshAccessToken/package.json +6 -0
  219. package/utils/routing/index.d.ts +5 -0
  220. package/utils/routing/index.js +31 -0
  221. package/utils/routing/index.js.map +1 -0
  222. package/utils/routing/package.json +6 -0
  223. package/utils/useOnRedirectTo/index.d.ts +5 -0
  224. package/utils/useOnRedirectTo/index.js +28 -0
  225. package/utils/useOnRedirectTo/index.js.map +1 -0
  226. package/utils/useOnRedirectTo/package.json +6 -0
  227. package/CookieManager-e50dc144.js +0 -322
  228. package/CookieManager-e50dc144.js.map +0 -1
  229. package/FronteggClientProviderNext13-b3c1e7a0.js +0 -158
  230. package/FronteggClientProviderNext13-b3c1e7a0.js.map +0 -1
  231. package/FronteggMiddleware.d.ts +0 -15
  232. package/FronteggProvider.d.ts +0 -3
  233. package/api-25516652.js +0 -58
  234. package/api-25516652.js.map +0 -1
  235. package/client/FronteggClientProviderNext13.d.ts +0 -3
  236. package/client/index.d.ts +0 -2
  237. package/client/index.js +0 -64
  238. package/client/index.js.map +0 -1
  239. package/common/CookieManager.d.ts +0 -41
  240. package/common/FronteggConfig.d.ts +0 -31
  241. package/common/api.d.ts +0 -3
  242. package/common/client/ExpireInListener.d.ts +0 -2
  243. package/common/client/hooks/index.d.ts +0 -1
  244. package/common/client/hooks/useRequestAuthorizeSSR.d.ts +0 -5
  245. package/common/client/index.d.ts +0 -4
  246. package/common/consts.d.ts +0 -6
  247. package/common/createGetSession.d.ts +0 -7
  248. package/common/utils.d.ts +0 -1
  249. package/createGetSession-2e1e4506.js +0 -50
  250. package/createGetSession-2e1e4506.js.map +0 -1
  251. package/helpers-dac37998.js +0 -88
  252. package/helpers-dac37998.js.map +0 -1
  253. package/refreshToken.d.ts +0 -3
  254. package/server/FronteggProviderNext13.d.ts +0 -3
  255. package/server/getSessionNext13.d.ts +0 -4
  256. package/server/index.d.ts +0 -2
  257. package/server/index.js +0 -84
  258. package/server/index.js.map +0 -1
  259. package/withFronteggApp.d.ts +0 -11
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { EncryptionUtils } from '../../types';
2
+ declare const encryptionUtils: EncryptionUtils;
3
+ export default encryptionUtils;
@@ -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,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,3 @@
1
+ export declare class FronteggEnvNotFound extends Error {
2
+ constructor(...name: string[]);
3
+ }
@@ -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,3 @@
1
+ export declare class InvalidFronteggEnv extends Error {
2
+ constructor(name: string, type: string);
3
+ }
@@ -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,2 @@
1
+ export * from './FronteggEnvNotFound';
2
+ export * from './InvalidFronteggEnv';
@@ -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,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -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,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -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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"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -1,11 +1,11 @@
1
- import { FronteggApp } from '@frontegg/js';
2
- import { AuthState } from '@frontegg/redux-store';
3
- import { FronteggProviderOptions } from '../types';
4
- type CreateOrGetFronteggAppParams = {
5
- options: FronteggProviderOptions;
6
- onRedirectTo: AuthState['onRedirectTo'];
7
- appName?: string;
8
- storeHolder: any;
9
- };
10
- export declare const createOrGetFronteggApp: ({ options, onRedirectTo, appName, storeHolder, }: CreateOrGetFronteggAppParams) => FronteggApp;
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,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -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