@frontegg/nextjs 6.7.20 → 6.7.21-alpha.4441481917

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 +10 -0
  2. package/README.md +19 -37
  3. package/api/index.d.ts +19 -0
  4. package/api/index.js +78 -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 +46 -0
  9. package/api/urls.js.map +1 -0
  10. package/api/utils.d.ts +46 -0
  11. package/api/utils.js +108 -0
  12. package/api/utils.js.map +1 -0
  13. package/app/ClientFronteggProvider.d.ts +3 -0
  14. package/app/ClientFronteggProvider.js +25 -0
  15. package/app/ClientFronteggProvider.js.map +1 -0
  16. package/app/FronteggAppProvider.d.ts +4 -0
  17. package/app/FronteggAppProvider.js +17 -0
  18. package/app/FronteggAppProvider.js.map +1 -0
  19. package/{client → app}/FronteggAppRouter.d.ts +11 -10
  20. package/app/FronteggAppRouter.js +31 -0
  21. package/app/FronteggAppRouter.js.map +1 -0
  22. package/app/helpers.d.ts +5 -0
  23. package/app/helpers.js +32 -0
  24. package/app/helpers.js.map +1 -0
  25. package/app/index.d.ts +4 -0
  26. package/app/index.js +4 -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 +6 -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 +48 -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 +67 -0
  37. package/common/FronteggBaseProvider.js.map +1 -0
  38. package/common/FronteggRouterBase.d.ts +9 -0
  39. package/common/FronteggRouterBase.js +42 -0
  40. package/common/FronteggRouterBase.js.map +1 -0
  41. package/common/helpers.d.ts +3 -9
  42. package/common/helpers.js +24 -0
  43. package/common/helpers.js.map +1 -0
  44. package/common/index.d.ts +4 -6
  45. package/common/index.js +5 -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 +24 -0
  50. package/common/useRequestAuthorizeSSR.js.map +1 -0
  51. package/config/constants.d.ts +57 -0
  52. package/config/constants.js +13 -0
  53. package/config/constants.js.map +1 -0
  54. package/config/helpers.d.ts +28 -0
  55. package/config/helpers.js +87 -0
  56. package/config/helpers.js.map +1 -0
  57. package/config/index.d.ts +24 -0
  58. package/config/index.js +82 -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 +2 -0
  63. package/config/types.js.map +1 -0
  64. package/edge/getSessionOnEdge.d.ts +3 -2
  65. package/edge/getSessionOnEdge.js +8 -0
  66. package/edge/getSessionOnEdge.js.map +1 -0
  67. package/edge/index.d.ts +3 -2
  68. package/edge/index.js +4 -64
  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 +9 -0
  73. package/edge/redirectToLogin.js.map +1 -0
  74. package/edge/shouldBypassMiddleware.d.ts +21 -7
  75. package/edge/shouldBypassMiddleware.js +42 -0
  76. package/edge/shouldBypassMiddleware.js.map +1 -0
  77. package/index.d.ts +7 -11
  78. package/index.js +13 -1401
  79. package/index.js.map +1 -1
  80. package/middleware/FronteggApiMiddleware.d.ts +8 -0
  81. package/middleware/FronteggApiMiddleware.js +28 -0
  82. package/middleware/FronteggApiMiddleware.js.map +1 -0
  83. package/middleware/FronteggProxy.d.ts +4 -0
  84. package/middleware/FronteggProxy.js +24 -0
  85. package/middleware/FronteggProxy.js.map +1 -0
  86. package/middleware/ProxyRequestCallback.d.ts +13 -0
  87. package/middleware/ProxyRequestCallback.js +48 -0
  88. package/middleware/ProxyRequestCallback.js.map +1 -0
  89. package/middleware/ProxyResponseCallback.d.ts +13 -0
  90. package/middleware/ProxyResponseCallback.js +103 -0
  91. package/middleware/ProxyResponseCallback.js.map +1 -0
  92. package/middleware/constants.d.ts +8 -0
  93. package/middleware/constants.js +9 -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 +35 -0
  97. package/middleware/helpers.js.map +1 -0
  98. package/middleware/index.d.ts +23 -0
  99. package/middleware/index.js +24 -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 +22 -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 +76 -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 +2 -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 +24 -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 +38 -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 +27 -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 +31 -0
  126. package/pages/helpers.js.map +1 -0
  127. package/pages/index.d.ts +3 -0
  128. package/pages/index.js +4 -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 +2 -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 +2 -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 +62 -0
  140. package/pages/withFronteggApp/withFronteggApp.js.map +1 -0
  141. package/sdkVersion.d.ts +4 -4
  142. package/sdkVersion.js +4 -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 +2 -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 +14 -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 +26 -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 +8 -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 +53 -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 +232 -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 +154 -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 +2 -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 +44 -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 +29 -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 +29 -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 +8 -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 +8 -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 +3 -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 +49 -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 +20 -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 +61 -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 +100 -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 +53 -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 +69 -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 +88 -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 +23 -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 +21 -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
@@ -1,322 +0,0 @@
1
- import { __awaiter, __generator, __spreadArray } from 'tslib';
2
- import cookie from 'cookie';
3
- import { importJWK } from 'jose';
4
-
5
- function normalizeStringPasswordToMap(password) {
6
- return typeof password === 'string' ? { 1: password } : password;
7
- }
8
- var FronteggConfig = /** @class */ (function () {
9
- function FronteggConfig() {
10
- var _a, _b, _c;
11
- this.authRoutes = {};
12
- this.fronteggAppOptions = {};
13
- this._clientId = (_a = process.env['FRONTEGG_CLIENT_ID']) !== null && _a !== void 0 ? _a : '';
14
- this._cookieName = (_b = process.env['FRONTEGG_COOKIE_NAME']) !== null && _b !== void 0 ? _b : "fe_next_session";
15
- this._password = (_c = process.env['FRONTEGG_ENCRYPTION_PASSWORD']) !== null && _c !== void 0 ? _c : '';
16
- this._passwordsAsMap = normalizeStringPasswordToMap(this._password);
17
- }
18
- Object.defineProperty(FronteggConfig.prototype, "cookieName", {
19
- get: function () {
20
- return "".concat(this._cookieName, "-").concat(this._clientId.replace(/-/g, ''));
21
- },
22
- enumerable: false,
23
- configurable: true
24
- });
25
- Object.defineProperty(FronteggConfig.prototype, "password", {
26
- get: function () {
27
- return this._password;
28
- },
29
- enumerable: false,
30
- configurable: true
31
- });
32
- Object.defineProperty(FronteggConfig.prototype, "clientId", {
33
- get: function () {
34
- return this._clientId;
35
- },
36
- enumerable: false,
37
- configurable: true
38
- });
39
- Object.defineProperty(FronteggConfig.prototype, "baseUrlHost", {
40
- get: function () {
41
- var _a;
42
- return new URL((_a = process.env['FRONTEGG_BASE_URL']) !== null && _a !== void 0 ? _a : '').hostname;
43
- },
44
- enumerable: false,
45
- configurable: true
46
- });
47
- FronteggConfig.prototype.getEnvAppUrl = function () {
48
- var url = undefined;
49
- if (process.env['FRONTEGG_APP_URL']) {
50
- url = process.env['FRONTEGG_APP_URL'];
51
- }
52
- else if (process.env['VERCEL'] && process.env['VERCEL_URL']) {
53
- url = process.env['VERCEL_URL'];
54
- }
55
- if (url && !url.startsWith('http')) {
56
- var protocol = url.startsWith('localhost') ? 'http://' : 'https://';
57
- url = "".concat(protocol).concat(url);
58
- }
59
- return url;
60
- };
61
- Object.defineProperty(FronteggConfig.prototype, "appUrl", {
62
- get: function () {
63
- var _a;
64
- return (_a = this.getEnvAppUrl()) !== null && _a !== void 0 ? _a : 'http://localhost:3000';
65
- },
66
- enumerable: false,
67
- configurable: true
68
- });
69
- Object.defineProperty(FronteggConfig.prototype, "appEnvConfig", {
70
- get: function () {
71
- return {
72
- envAppUrl: this.getEnvAppUrl(),
73
- envBaseUrl: process.env['FRONTEGG_BASE_URL'],
74
- envClientId: process.env['FRONTEGG_CLIENT_ID'],
75
- };
76
- },
77
- enumerable: false,
78
- configurable: true
79
- });
80
- Object.defineProperty(FronteggConfig.prototype, "cookieDomain", {
81
- get: function () {
82
- var _a;
83
- return new URL((_a = this.getEnvAppUrl()) !== null && _a !== void 0 ? _a : '').hostname.replace(/:(\d)+$/, '');
84
- },
85
- enumerable: false,
86
- configurable: true
87
- });
88
- FronteggConfig.prototype.getJwtPublicKey = function () {
89
- return __awaiter(this, void 0, void 0, function () {
90
- var response, data, publicKey, _a;
91
- return __generator(this, function (_b) {
92
- switch (_b.label) {
93
- case 0:
94
- if (!!this._jwtPublicKey) return [3 /*break*/, 4];
95
- return [4 /*yield*/, fetch("".concat(process.env['FRONTEGG_BASE_URL'], "/.well-known/jwks.json"))];
96
- case 1:
97
- response = _b.sent();
98
- return [4 /*yield*/, response.json()];
99
- case 2:
100
- data = _b.sent();
101
- publicKey = data.keys[0];
102
- _a = this;
103
- return [4 /*yield*/, importJWK(publicKey, publicKey.alg)];
104
- case 3:
105
- _a._jwtPublicKey = _b.sent();
106
- _b.label = 4;
107
- case 4: return [2 /*return*/, this._jwtPublicKey];
108
- }
109
- });
110
- });
111
- };
112
- Object.defineProperty(FronteggConfig.prototype, "passwordsAsMap", {
113
- get: function () {
114
- return this._passwordsAsMap;
115
- },
116
- enumerable: false,
117
- configurable: true
118
- });
119
- return FronteggConfig;
120
- }());
121
- var FronteggConfig$1 = new FronteggConfig();
122
-
123
- var envError = function (varName) { return "@frontegg/nextjs: .env.local must contain ".concat(varName); };
124
- var fronteggErrors = {
125
- envAppUrl: envError('FRONTEGG_APP_URL'),
126
- envBaseUrl: envError('FRONTEGG_BASE_URL'),
127
- envClientId: envError('FRONTEGG_CLIENT_ID'),
128
- };
129
- var COOKIE_MAX_LENGTH = 4092;
130
-
131
- function chunkString(str, chunkSize) {
132
- var numChunks = Math.ceil(str.length / chunkSize);
133
- var chunks = [];
134
- for (var i = 0; i < numChunks; i++) {
135
- var start = i * chunkSize;
136
- var end = start + chunkSize;
137
- chunks.push(str.substring(start, end < str.length ? end : str.length));
138
- }
139
- return chunks;
140
- }
141
-
142
- var CookieManager = /** @class */ (function () {
143
- function CookieManager() {
144
- var _this = this;
145
- this.getCookieName = function (cookieNumber, cookieName) {
146
- if (cookieName === void 0) { cookieName = FronteggConfig$1.cookieName; }
147
- return cookieNumber ? "".concat(cookieName, "-").concat(cookieNumber) : cookieName;
148
- };
149
- this.mapValueChunksToCookies = function (cookieName, valueChunks, options) {
150
- return valueChunks.map(function (chunk, index) { return cookie.serialize(_this.getCookieName(index + 1, cookieName), chunk, options) + ';'; });
151
- };
152
- this.getCookieStringFromRequest = function (req) {
153
- return 'credentials' in req ? req.headers.get('cookie') || '' : req.headers.cookie || '';
154
- };
155
- this.createEmptySingleCookie = function (cookieName, isSecured, cookieDomain) {
156
- return _this.createCookie({ cookieName: cookieName, value: '', expires: new Date(), isSecured: isSecured, cookieDomain: cookieDomain });
157
- };
158
- this.createEmptyCookies = function (isSecured, cookieDomain, cookiesToRemove) {
159
- var allEmptyCookies = [];
160
- cookiesToRemove.forEach(function (name) {
161
- allEmptyCookies.push.apply(allEmptyCookies, _this.createEmptySingleCookie(name, isSecured, cookieDomain));
162
- });
163
- // TODO: remove replace in the next major v7
164
- var fixedRefreshToken = _this.createEmptySingleCookie("fe_refresh_".concat(FronteggConfig$1.clientId), isSecured, cookieDomain);
165
- var refreshTokenCookie = _this.createEmptySingleCookie("fe_refresh_".concat(FronteggConfig$1.clientId.replace('-', '')), isSecured, cookieDomain);
166
- var solidRefreshTokenCookie = _this.createEmptySingleCookie("fe_refresh_".concat(FronteggConfig$1.clientId.replace(/-/g, '')), isSecured, cookieDomain);
167
- var refreshTokenCookies = __spreadArray(__spreadArray(__spreadArray([], fixedRefreshToken, true), refreshTokenCookie, true), solidRefreshTokenCookie, true);
168
- allEmptyCookies.push.apply(allEmptyCookies, refreshTokenCookies);
169
- return allEmptyCookies;
170
- };
171
- this.getCookiesToRemove = function (req) {
172
- if (!req) {
173
- return [];
174
- }
175
- try {
176
- var cookieStr = _this.getCookieStringFromRequest(req);
177
- var cookies = cookieStr && cookie.parse(cookieStr);
178
- if (!cookies) {
179
- return [];
180
- }
181
- var cookieNumber = 1;
182
- var cookieToRemove = [];
183
- while (cookies[_this.getCookieName(cookieNumber)]) {
184
- cookieToRemove.push(_this.getCookieName(cookieNumber));
185
- cookieNumber++;
186
- }
187
- return cookieToRemove;
188
- }
189
- catch (e) {
190
- console.error(e);
191
- return [];
192
- }
193
- };
194
- this.modifySetCookie = function (setCookieValue, isSecured) {
195
- if (!setCookieValue) {
196
- return setCookieValue;
197
- }
198
- if (setCookieValue.length > 0) {
199
- return setCookieValue.map(function (c) {
200
- var cookie = c.split('; ');
201
- if (!isSecured) {
202
- cookie = cookie.filter(function (property) { return property !== 'Secure' && property !== 'SameSite=None'; });
203
- }
204
- return (cookie
205
- .map(function (property) {
206
- if (property.toLowerCase() === "domain=".concat(FronteggConfig$1.baseUrlHost)) {
207
- return "Domain=".concat(FronteggConfig$1.cookieDomain);
208
- }
209
- return property;
210
- })
211
- .join(';') + ';');
212
- });
213
- }
214
- return setCookieValue;
215
- };
216
- }
217
- CookieManager.prototype.rewriteCookieProperty = function (header, config, property) {
218
- var _this = this;
219
- if (Array.isArray(header)) {
220
- return header.map(function (headerElement) {
221
- return _this.rewriteCookieProperty(headerElement, config, property);
222
- });
223
- }
224
- return header.replace(new RegExp('(;\\s*' + property + '=)([^;]+)', 'i'), function (match, prefix, previousValue) {
225
- var newValue;
226
- if (previousValue in config) {
227
- newValue = config[previousValue];
228
- }
229
- else if ('*' in config) {
230
- newValue = config['*'];
231
- }
232
- else {
233
- // no match, return previous value
234
- return match;
235
- }
236
- if (newValue) {
237
- // replace value
238
- return prefix + newValue;
239
- }
240
- else {
241
- // remove value
242
- return '';
243
- }
244
- });
245
- };
246
- CookieManager.prototype.createCookie = function (_a) {
247
- var cookieName = _a.cookieName, value = _a.value, expires = _a.expires, isSecured = _a.isSecured, _b = _a.cookieDomain, cookieDomain = _b === void 0 ? FronteggConfig$1.cookieDomain : _b, _c = _a.httpOnly, httpOnly = _c === void 0 ? true : _c, _d = _a.path, path = _d === void 0 ? '/' : _d;
248
- var options = {
249
- expires: expires,
250
- httpOnly: httpOnly,
251
- domain: cookieDomain,
252
- path: path,
253
- sameSite: isSecured ? 'none' : undefined,
254
- secure: isSecured,
255
- };
256
- var cookieValue = cookie.serialize(cookieName !== null && cookieName !== void 0 ? cookieName : this.getCookieName(1), value, options);
257
- if (cookieValue.length <= COOKIE_MAX_LENGTH) {
258
- return [cookieValue];
259
- }
260
- var valueChunks = this.splitValueToChunks(cookieName, value, options);
261
- return this.mapValueChunksToCookies(cookieName, valueChunks, options);
262
- };
263
- CookieManager.prototype.splitValueToChunks = function (cookieName, value, options) {
264
- var cookieOptionLength = cookie.serialize(this.getCookieName(1, cookieName), '', options).length;
265
- var chunkSize = COOKIE_MAX_LENGTH - cookieOptionLength - 1;
266
- return chunkString(value, chunkSize);
267
- };
268
- CookieManager.prototype.getParsedCookieFromRequest = function (req) {
269
- if (!req) {
270
- return undefined;
271
- }
272
- var cookieStr = this.getCookieStringFromRequest(req);
273
- return this.parseCookie(cookieStr);
274
- };
275
- CookieManager.prototype.parseCookie = function (cookieStr) {
276
- var cookies = cookie.parse(cookieStr);
277
- var sealFromCookies = '';
278
- var i = 1;
279
- while (cookies[this.getCookieName(i)]) {
280
- sealFromCookies += cookies[this.getCookieName(i)];
281
- i++;
282
- }
283
- return sealFromCookies !== '' ? sealFromCookies : undefined;
284
- };
285
- CookieManager.prototype.parseCookieFromArray = function (cookies) {
286
- var _this = this;
287
- var cookieChunks = cookies.filter(function (c) { return c.name.includes(_this.getCookieName()); });
288
- if (!cookieChunks) {
289
- return undefined;
290
- }
291
- cookieChunks.sort(function (a, b) {
292
- var firstCookieNumber = parseInt(a.name.slice(-1));
293
- var secondCookieNumber = parseInt(b.name.slice(-1));
294
- return firstCookieNumber > secondCookieNumber ? 1 : -1;
295
- });
296
- return cookieChunks.map(function (c) { return c.value; }).join('');
297
- };
298
- CookieManager.prototype.addToCookies = function (newCookies, res) {
299
- var _a;
300
- var existingSetCookie = (_a = res.getHeader('set-cookie')) !== null && _a !== void 0 ? _a : [];
301
- if (typeof existingSetCookie === 'string') {
302
- existingSetCookie = [existingSetCookie];
303
- }
304
- res.setHeader('set-cookie', __spreadArray(__spreadArray([], existingSetCookie, true), newCookies, true));
305
- };
306
- CookieManager.prototype.removeCookies = function (_a) {
307
- var _b;
308
- var cookieNames = _a.cookieNames, isSecured = _a.isSecured, cookieDomain = _a.cookieDomain, res = _a.res, req = _a.req;
309
- var cookiesToRemove = this.getCookiesToRemove(req);
310
- var cookieValue = this.createEmptyCookies(isSecured, cookieDomain, cookieNames !== null && cookieNames !== void 0 ? cookieNames : cookiesToRemove);
311
- var existingSetCookie = (_b = res.getHeader('set-cookie')) !== null && _b !== void 0 ? _b : [];
312
- if (typeof existingSetCookie === 'string') {
313
- existingSetCookie = [existingSetCookie];
314
- }
315
- res.setHeader('set-cookie', __spreadArray(__spreadArray([], existingSetCookie, true), cookieValue, true));
316
- };
317
- return CookieManager;
318
- }());
319
- var CookieManager$1 = new CookieManager();
320
-
321
- export { CookieManager$1 as C, FronteggConfig$1 as F, COOKIE_MAX_LENGTH as a, fronteggErrors as f };
322
- //# sourceMappingURL=CookieManager-e50dc144.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CookieManager-e50dc144.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,158 +0,0 @@
1
- 'use client';
2
- import { __assign, __awaiter, __generator, __rest } from 'tslib';
3
- import { FronteggStoreProvider } from '@frontegg/react-hooks';
4
- import { fronteggAuthApiRoutes, ContextHolder } from '@frontegg/rest-api';
5
- import React, { createContext, useEffect, useRef, useCallback, useMemo } from 'react';
6
- import { AppHolder, initialize } from '@frontegg/js';
7
- import { tenantsState, createFronteggStore } from '@frontegg/redux-store';
8
- import nextjsPkg from 'next/package.json';
9
- import { useRouter } from 'next/navigation';
10
-
11
- var AppContext = createContext(null);
12
-
13
- var sdkVersion = { version: '6.7.19' };
14
-
15
- var createOrGetFronteggApp = function (_a) {
16
- var _b, _c, _d, _e, _f, _g, _h, _j;
17
- var options = _a.options, onRedirectTo = _a.onRedirectTo, appName = _a.appName, storeHolder = _a.storeHolder;
18
- var session = options.session, user = options.user, tenants = options.tenants;
19
- var _k = session !== null && session !== void 0 ? session : {}, accessToken = _k.accessToken, refreshToken = _k.refreshToken;
20
- var contextOptions = __assign(__assign({ requestCredentials: 'include' }, options.contextOptions), { additionalHeadersResolver: function () { return __awaiter(void 0, void 0, void 0, function () {
21
- var additionalHeaders, originalAdditionalHeadersResolver, _a, _b, _c;
22
- var _d;
23
- return __generator(this, function (_e) {
24
- switch (_e.label) {
25
- case 0:
26
- additionalHeaders = [];
27
- originalAdditionalHeadersResolver = (_d = options.contextOptions) === null || _d === void 0 ? void 0 : _d.additionalHeadersResolver;
28
- if (!(typeof originalAdditionalHeadersResolver === 'function')) return [3 /*break*/, 5];
29
- _e.label = 1;
30
- case 1:
31
- _e.trys.push([1, 3, , 4]);
32
- _b = (_a = additionalHeaders.push).apply;
33
- _c = [additionalHeaders];
34
- return [4 /*yield*/, originalAdditionalHeadersResolver()];
35
- case 2:
36
- _b.apply(_a, _c.concat([(_e.sent())]));
37
- return [3 /*break*/, 4];
38
- case 3:
39
- _e.sent();
40
- return [3 /*break*/, 4];
41
- case 4: return [3 /*break*/, 6];
42
- case 5:
43
- if (Array.isArray(originalAdditionalHeadersResolver)) {
44
- additionalHeaders.push.apply(additionalHeaders, originalAdditionalHeadersResolver);
45
- }
46
- _e.label = 6;
47
- case 6:
48
- additionalHeaders.push({
49
- key: 'x-frontegg-framework',
50
- value: "next@".concat(nextjsPkg.version),
51
- });
52
- additionalHeaders.push({
53
- key: 'x-frontegg-sdk',
54
- value: "@frontegg/nextjs@".concat(sdkVersion.version),
55
- });
56
- return [2 /*return*/, additionalHeaders];
57
- }
58
- });
59
- }); }, baseUrl: function (path) {
60
- if (path.endsWith('/oauth/logout')) {
61
- return "".concat(options.envAppUrl, "/api");
62
- }
63
- if (fronteggAuthApiRoutes.indexOf(path) !== -1 || path.endsWith('/postlogin') || path.endsWith('/prelogin')) {
64
- /**
65
- * Exclude social login redirects from nextjs middleware
66
- */
67
- if (RegExp('^/identity/resources/auth/v[0-9]*/user/sso/default/.*/prelogin$').test(path)) {
68
- return options.envBaseUrl;
69
- }
70
- return "".concat(options.envAppUrl, "/api");
71
- }
72
- else {
73
- return options.envBaseUrl;
74
- }
75
- }, clientId: options.envClientId });
76
- var tenantsState$1 = __assign(__assign(__assign({}, tenantsState), { tenants: tenants || [] }), (_b = options.authOptions) === null || _b === void 0 ? void 0 : _b.tenantsState);
77
- var userData = user
78
- ? __assign(__assign(__assign({}, user), { accessToken: accessToken !== null && accessToken !== void 0 ? accessToken : '', refreshToken: refreshToken !== null && refreshToken !== void 0 ? refreshToken : undefined }), (_c = options.authOptions) === null || _c === void 0 ? void 0 : _c.user) : null;
79
- var authOptions = __assign(__assign({}, options.authOptions), { onRedirectTo: onRedirectTo, isLoading: false, isAuthenticated: !!options.session, hostedLoginBox: (_d = options.hostedLoginBox) !== null && _d !== void 0 ? _d : false, disableSilentRefresh: (_f = (_e = options.authOptions) === null || _e === void 0 ? void 0 : _e.disableSilentRefresh) !== null && _f !== void 0 ? _f : true, user: userData, tenantsState: tenantsState$1 });
80
- var sharedStore = createFronteggStore({ context: contextOptions }, storeHolder, options.previewMode, authOptions, {
81
- auth: authOptions !== null && authOptions !== void 0 ? authOptions : {},
82
- audits: (_g = options.auditsOptions) !== null && _g !== void 0 ? _g : {},
83
- }, false, options.urlStrategy);
84
- var createdApp;
85
- try {
86
- createdApp = AppHolder.getInstance(appName !== null && appName !== void 0 ? appName : 'default');
87
- createdApp.store = sharedStore;
88
- }
89
- catch (e) {
90
- createdApp = initialize(__assign(__assign({}, options), { store: sharedStore, hostedLoginBox: (_h = options.hostedLoginBox) !== null && _h !== void 0 ? _h : false, customLoginBox: (_j = options.customLoginBox) !== null && _j !== void 0 ? _j : false, basename: options.basename, authOptions: authOptions, contextOptions: contextOptions, onRedirectTo: onRedirectTo }), appName !== null && appName !== void 0 ? appName : 'default');
91
- }
92
- return createdApp;
93
- };
94
-
95
- var useRequestAuthorizeSSR = function (_a) {
96
- var app = _a.app, user = _a.user, tenants = _a.tenants, session = _a.session;
97
- useEffect(function () {
98
- app === null || app === void 0 ? void 0 : app.store.dispatch({
99
- type: 'auth/requestAuthorizeSSR',
100
- payload: {
101
- accessToken: session === null || session === void 0 ? void 0 : session.accessToken,
102
- user: user ? __assign(__assign({}, user), { refreshToken: session === null || session === void 0 ? void 0 : session.refreshToken }) : null,
103
- tenants: tenants,
104
- },
105
- });
106
- }, [app]);
107
- };
108
-
109
- var Connector = function (_a) {
110
- var _b;
111
- var router = _a.router, _c = _a.appName, appName = _c === void 0 ? 'default' : _c, props = __rest(_a, ["router", "appName"]);
112
- var isSSR = typeof window === 'undefined';
113
- var user = props.user, session = props.session, tenants = props.tenants;
114
- var baseName = (_b = props.basename) !== null && _b !== void 0 ? _b : '';
115
- var ssrStoreHolder = useRef({});
116
- var storeHolder = isSSR ? ssrStoreHolder.current : undefined;
117
- var onRedirectTo = useCallback(function (_path, opts) {
118
- var path = _path;
119
- if (path.startsWith(baseName)) {
120
- path = path.substring(baseName.length);
121
- }
122
- if (opts === null || opts === void 0 ? void 0 : opts.preserveQueryParams) {
123
- path = "".concat(path).concat(window.location.search);
124
- }
125
- if ((opts === null || opts === void 0 ? void 0 : opts.refresh) && !isSSR) {
126
- // @ts-ignore
127
- window.Cypress ? router.push(path) : (window.location.href = path);
128
- }
129
- else {
130
- (opts === null || opts === void 0 ? void 0 : opts.replace) ? router.replace(path) : router.push(path);
131
- }
132
- }, []);
133
- var app = useMemo(function () {
134
- return createOrGetFronteggApp({
135
- options: __assign(__assign({}, props), { basename: baseName }),
136
- onRedirectTo: onRedirectTo,
137
- appName: appName,
138
- storeHolder: storeHolder,
139
- });
140
- }, [props]);
141
- ContextHolder.setOnRedirectTo(onRedirectTo);
142
- useRequestAuthorizeSSR({ app: app, user: user, tenants: tenants, session: session });
143
- return (React.createElement(AppContext.Provider, { value: app },
144
- React.createElement(FronteggStoreProvider, __assign({}, __assign(__assign({}, props), { app: app })), props.children)));
145
- };
146
- var FronteggBaseProvider = function (props) {
147
- return (React.createElement(Connector, __assign({}, props, { framework: 'nextjs' }), props.children));
148
- };
149
-
150
- var FronteggClientProviderNext13 = function (_a) {
151
- var children = _a.children, basename = _a.basename, props = __rest(_a, ["children", "basename"]);
152
- var router = useRouter();
153
- var basePath = process.env.__NEXT_ROUTER_BASEPATH || '';
154
- return (React.createElement(FronteggBaseProvider, __assign({ router: router, basename: basename !== null && basename !== void 0 ? basename : basePath }, props), children));
155
- };
156
-
157
- export { AppContext as A, FronteggClientProviderNext13 as F };
158
- //# sourceMappingURL=FronteggClientProviderNext13-b3c1e7a0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FronteggClientProviderNext13-b3c1e7a0.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import type { NextApiRequest, NextApiResponse } from 'next';
2
- export declare const config: {
3
- api: {
4
- externalResolver: boolean;
5
- bodyParser: boolean;
6
- responseLimit: boolean;
7
- };
8
- };
9
- /**
10
- * Next.js HTTP Proxy Middleware
11
- * @see https://nextjs.org/docs/api-routes/api-middlewares
12
- * @param {NextApiRequest} req
13
- * @param {NextApiResponse} res
14
- */
15
- export declare function fronteggMiddleware(req: NextApiRequest, res: NextApiResponse): Promise<void>;
@@ -1,3 +0,0 @@
1
- import { FC } from 'react';
2
- import { FronteggProviderProps } from './common';
3
- export declare const FronteggProvider: FC<Omit<FronteggProviderProps, 'router'>>;
package/api-25516652.js DELETED
@@ -1,58 +0,0 @@
1
- import { __awaiter, __generator } from 'tslib';
2
- import { fronteggUsersUrl, fronteggTenantsUrl } from '@frontegg/rest-api';
3
-
4
- var BASE_URL = "".concat(process.env['FRONTEGG_BASE_URL'], "/frontegg");
5
- var Get = function (_a) {
6
- var url = _a.url, _b = _a.credentials, credentials = _b === void 0 ? 'include' : _b, headers = _a.headers;
7
- return fetch(url, { method: 'GET', credentials: credentials, headers: headers });
8
- };
9
- var extractHeaders = function (headers) { return ({
10
- 'accept-encoding': headers['accept-encoding'],
11
- 'accept-language': headers['accept-language'],
12
- cookie: headers['cookie'],
13
- accept: headers['accept'],
14
- 'user-agent': headers['user-agent'],
15
- // connection: headers['connection'],
16
- 'cache-control': headers['cache-control'],
17
- Authorization: headers['Authorization'],
18
- }); };
19
- var parseResponse = function (res) { return __awaiter(void 0, void 0, void 0, function () {
20
- var resText;
21
- return __generator(this, function (_a) {
22
- switch (_a.label) {
23
- case 0:
24
- if (!res.ok) {
25
- return [2 /*return*/, undefined];
26
- }
27
- return [4 /*yield*/, res.text()];
28
- case 1:
29
- resText = _a.sent();
30
- return [2 /*return*/, JSON.parse(resText)];
31
- }
32
- });
33
- }); };
34
- var getUsers = function (headers) { return __awaiter(void 0, void 0, void 0, function () {
35
- var res;
36
- return __generator(this, function (_a) {
37
- switch (_a.label) {
38
- case 0: return [4 /*yield*/, Get({ url: "".concat(BASE_URL).concat(fronteggUsersUrl), headers: extractHeaders(headers) })];
39
- case 1:
40
- res = _a.sent();
41
- return [2 /*return*/, parseResponse(res)];
42
- }
43
- });
44
- }); };
45
- var getTenants = function (headers) { return __awaiter(void 0, void 0, void 0, function () {
46
- var res;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0: return [4 /*yield*/, Get({ url: "".concat(BASE_URL).concat(fronteggTenantsUrl), headers: extractHeaders(headers) })];
50
- case 1:
51
- res = _a.sent();
52
- return [2 /*return*/, parseResponse(res)];
53
- }
54
- });
55
- }); };
56
-
57
- export { getTenants as a, getUsers as g };
58
- //# sourceMappingURL=api-25516652.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-25516652.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { FronteggProviderProps } from '../common';
2
- import { FC } from 'react';
3
- export declare const FronteggClientProviderNext13: FC<Omit<FronteggProviderProps, 'router'>>;
package/client/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './FronteggAppRouter';
2
- export * from './FronteggClientProviderNext13';
package/client/index.js DELETED
@@ -1,64 +0,0 @@
1
- 'use client';
2
- import { __assign, __spreadArray } from 'tslib';
3
- import { F as FronteggConfig } from '../CookieManager-e50dc144.js';
4
- import 'iron-session';
5
- import 'jose';
6
- import '../api-25516652.js';
7
- import { useLoginWithRedirect, useLoginActions } from '@frontegg/react-hooks';
8
- import '@frontegg/rest-api';
9
- import { useContext, useEffect } from 'react';
10
- import { A as AppContext } from '../FronteggClientProviderNext13-b3c1e7a0.js';
11
- export { F as FronteggClientProviderNext13 } from '../FronteggClientProviderNext13-b3c1e7a0.js';
12
- import '@frontegg/js';
13
- import { authInitialState } from '@frontegg/redux-store';
14
- import 'next/package.json';
15
- import { useRouter, notFound } from 'next/navigation';
16
- import 'cookie';
17
-
18
- function FronteggAppRouter(_a) {
19
- var _b = _a.params["frontegg-router"], pathArr = _b === void 0 ? [] : _b, searchParams = _a.searchParams;
20
- var routesObj = __assign(__assign({}, authInitialState.routes), FronteggConfig.authRoutes);
21
- var routesArr = Object.keys(routesObj).reduce(function (p, key) { return __spreadArray(__spreadArray([], p, true), [routesObj[key]], false); }, []);
22
- var app = useContext(AppContext);
23
- var replace = useRouter().replace;
24
- var loginWithRedirect = useLoginWithRedirect();
25
- var logout = useLoginActions().logout;
26
- var pathname = "/".concat(pathArr.join('/'));
27
- if (searchParams && (!pathname || pathname.startsWith('/_next/data'))) {
28
- var query = searchParams[Object.keys(searchParams)[0]];
29
- pathname = "/".concat(Array.isArray(query) ? query.join('/') : query);
30
- }
31
- if (routesArr.indexOf(pathname) === -1) {
32
- notFound();
33
- }
34
- if (FronteggConfig.fronteggAppOptions.hostedLoginBox &&
35
- routesObj.loginUrl !== pathname &&
36
- routesObj.logoutUrl !== pathname &&
37
- routesObj.hostedLoginRedirectUrl !== pathname) {
38
- notFound();
39
- }
40
- useEffect(function () {
41
- if (!app) {
42
- return;
43
- }
44
- if (app.options.hostedLoginBox) {
45
- if (pathname === routesObj.loginUrl) {
46
- if (searchParams === null || searchParams === void 0 ? void 0 : searchParams.redirectUrl) {
47
- localStorage.setItem('FRONTEGG_AFTER_AUTH_REDIRECT_URL', "".concat(window.location.origin).concat(searchParams === null || searchParams === void 0 ? void 0 : searchParams.redirectUrl));
48
- }
49
- loginWithRedirect();
50
- }
51
- else if (pathname === routesObj.logoutUrl) {
52
- var _baseUrl = app.options.contextOptions.baseUrl;
53
- var baseUrl_1 = typeof _baseUrl === 'string' ? _baseUrl : _baseUrl('');
54
- logout(function () {
55
- window.location.href = "".concat(baseUrl_1, "/oauth/logout?post_logout_redirect_uri=").concat(encodeURIComponent(window.location.origin));
56
- });
57
- }
58
- }
59
- }, [app, searchParams, loginWithRedirect, logout, replace]);
60
- return '';
61
- }
62
-
63
- export { FronteggAppRouter };
64
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}