@frontegg/nextjs 6.7.21-alpha.4441481917 → 6.7.21-alpha.4455122973
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 +3 -1
- package/README.md +1 -1
- package/api/index.js +31 -22
- package/api/index.js.map +1 -1
- package/api/urls.js +17 -7
- package/api/urls.js.map +1 -1
- package/api/utils.js +35 -20
- package/api/utils.js.map +1 -1
- package/app/ClientFronteggProvider.js +17 -10
- package/app/ClientFronteggProvider.js.map +1 -1
- package/app/FronteggAppProvider.js +22 -14
- package/app/FronteggAppProvider.js.map +1 -1
- package/app/FronteggAppRouter.d.ts +0 -1
- package/app/FronteggAppRouter.js +19 -11
- package/app/FronteggAppRouter.js.map +1 -1
- package/app/helpers.js +23 -12
- package/app/helpers.js.map +1 -1
- package/app/index.js +38 -3
- package/app/index.js.map +1 -1
- package/common/AppContext.js +9 -3
- package/common/AppContext.js.map +1 -1
- package/common/AuthorizedContent.js +14 -8
- package/common/AuthorizedContent.js.map +1 -1
- package/common/FronteggBaseProvider.js +30 -21
- package/common/FronteggBaseProvider.js.map +1 -1
- package/common/FronteggRouterBase.d.ts +1 -1
- package/common/FronteggRouterBase.js +41 -21
- package/common/FronteggRouterBase.js.map +1 -1
- package/common/helpers.js +15 -7
- package/common/helpers.js.map +1 -1
- package/common/index.js +44 -4
- package/common/index.js.map +1 -1
- package/common/useRequestAuthorizeSSR.js +11 -5
- package/common/useRequestAuthorizeSSR.js.map +1 -1
- package/config/constants.js +10 -3
- package/config/constants.js.map +1 -1
- package/config/helpers.js +24 -14
- package/config/helpers.js.map +1 -1
- package/config/index.js +27 -15
- package/config/index.js.map +1 -1
- package/config/types.js +5 -1
- package/edge/getSessionOnEdge.js +14 -6
- package/edge/getSessionOnEdge.js.map +1 -1
- package/edge/index.js +38 -3
- package/edge/index.js.map +1 -1
- package/edge/redirectToLogin.js +12 -5
- package/edge/redirectToLogin.js.map +1 -1
- package/edge/shouldBypassMiddleware.js +19 -6
- package/edge/shouldBypassMiddleware.js.map +1 -1
- package/index.js +102 -8
- package/index.js.map +1 -1
- package/middleware/FronteggApiMiddleware.js +13 -7
- package/middleware/FronteggApiMiddleware.js.map +1 -1
- package/middleware/FronteggProxy.js +13 -6
- package/middleware/FronteggProxy.js.map +1 -1
- package/middleware/ProxyRequestCallback.js +19 -11
- package/middleware/ProxyRequestCallback.js.map +1 -1
- package/middleware/ProxyResponseCallback.js +23 -15
- package/middleware/ProxyResponseCallback.js.map +1 -1
- package/middleware/constants.js +10 -2
- package/middleware/constants.js.map +1 -1
- package/middleware/helpers.js +11 -4
- package/middleware/helpers.js.map +1 -1
- package/middleware/index.js +12 -23
- package/middleware/index.js.map +1 -1
- package/no-ssr/ExpireInListener.d.ts +0 -1
- package/no-ssr/ExpireInListener.js +20 -13
- package/no-ssr/ExpireInListener.js.map +1 -1
- package/no-ssr/FronteggProviderNoSSR.js +36 -28
- package/no-ssr/FronteggProviderNoSSR.js.map +1 -1
- package/no-ssr/index.js +12 -1
- package/no-ssr/index.js.map +1 -1
- package/package.json +21 -2
- package/pages/FronteggPagesProvider/index.js +18 -10
- package/pages/FronteggPagesProvider/index.js.map +1 -1
- package/pages/FronteggRouter/FronteggRouter.d.ts +0 -1
- package/pages/FronteggRouter/FronteggRouter.js +22 -14
- package/pages/FronteggRouter/FronteggRouter.js.map +1 -1
- package/pages/FronteggRouter/index.js +18 -26
- package/pages/FronteggRouter/index.js.map +1 -1
- package/pages/helpers.js +19 -10
- package/pages/helpers.js.map +1 -1
- package/pages/index.js +46 -3
- package/pages/index.js.map +1 -1
- package/pages/withFronteggApp/index.js +12 -1
- package/pages/withFronteggApp/index.js.map +1 -1
- package/pages/withFronteggApp/types.d.ts +0 -1
- package/pages/withFronteggApp/types.js +5 -1
- package/pages/withFronteggApp/withFronteggApp.js +23 -15
- package/pages/withFronteggApp/withFronteggApp.js.map +1 -1
- package/sdkVersion.js +9 -2
- package/sdkVersion.js.map +1 -1
- package/types/index.js +5 -1
- package/utils/common/constants.js +12 -3
- package/utils/common/constants.js.map +1 -1
- package/utils/common/index.js +9 -3
- package/utils/common/index.js.map +1 -1
- package/utils/cookies/constants.js +8 -1
- package/utils/cookies/constants.js.map +1 -1
- package/utils/cookies/helpers.js +24 -13
- package/utils/cookies/helpers.js.map +1 -1
- package/utils/cookies/index.js +38 -31
- package/utils/cookies/index.js.map +1 -1
- package/utils/cookies/serializer.js +13 -6
- package/utils/cookies/serializer.js.map +1 -1
- package/utils/cookies/types.js +5 -1
- package/utils/createSession/index.js +12 -5
- package/utils/createSession/index.js.map +1 -1
- package/utils/encryption/index.js +15 -7
- package/utils/encryption/index.js.map +1 -1
- package/utils/encryption-edge/index.js +15 -7
- package/utils/encryption-edge/index.js.map +1 -1
- package/utils/errors/FronteggEnvNotFound.js +8 -1
- package/utils/errors/FronteggEnvNotFound.js.map +1 -1
- package/utils/errors/InvalidFronteggEnv.js +8 -1
- package/utils/errors/InvalidFronteggEnv.js.map +1 -1
- package/utils/errors/index.js +27 -2
- package/utils/errors/index.js.map +1 -1
- package/utils/fetchUserData/index.js +17 -10
- package/utils/fetchUserData/index.js.map +1 -1
- package/utils/fronteggLogger/constants.js +10 -2
- package/utils/fronteggLogger/constants.js.map +1 -1
- package/utils/fronteggLogger/index.js +13 -7
- package/utils/fronteggLogger/index.js.map +1 -1
- package/utils/initializeFronteggApp/index.js +25 -17
- package/utils/initializeFronteggApp/index.js.map +1 -1
- package/utils/jwt/index.js +18 -10
- package/utils/jwt/index.js.map +1 -1
- package/utils/refreshAccessToken/helpers.js +28 -17
- package/utils/refreshAccessToken/helpers.js.map +1 -1
- package/utils/refreshAccessToken/index.js +28 -22
- package/utils/refreshAccessToken/index.js.map +1 -1
- package/utils/routing/index.js +15 -7
- package/utils/routing/index.js.map +1 -1
- package/utils/useOnRedirectTo/index.js +10 -3
- package/utils/useOnRedirectTo/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
## [6.7.21](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.20...v6.7.21) (2023-3-
|
|
3
|
+
## [6.7.21](https://github.com/frontegg/frontegg-nextjs/compare/v6.7.20...v6.7.21) (2023-3-18)
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
### NextJS Wrapper 6.7.21:
|
|
7
|
+
- FR-10654 - Add missing requestAuthorize for appDir architecture
|
|
8
|
+
- FR-10654 - Use CJS build instead of ESM
|
|
7
9
|
- FR-10654 - Prevent overriding default package.json file in dist folder
|
|
8
10
|
- FR-10654 - Add missing alpha version in pre-release script
|
|
9
11
|
- FR-10654 - Update nvmrc load and fix deprecated set-output
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
Frontegg is a web platform where SaaS companies can set up their fully managed, scalable and brand aware - SaaS features
|
|
4
4
|
and integrate them into their SaaS portals in up to 5 lines of code.
|
package/api/index.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
import { ApiUrls } from './urls';
|
|
3
|
-
import { buildRequestHeaders, Get, parseHttpResponse, Post } from './utils';
|
|
4
|
-
import { fronteggTenantsUrl, fronteggUsersUrl } from '@frontegg/rest-api';
|
|
1
|
+
"use strict";
|
|
5
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getUsers = exports.getTenants = exports.default = void 0;
|
|
8
|
+
var _config = _interopRequireDefault(require("../config"));
|
|
9
|
+
var _urls = require("./urls");
|
|
10
|
+
var _utils = require("./utils");
|
|
11
|
+
var _restApi = require("@frontegg/rest-api");
|
|
6
12
|
/**
|
|
7
13
|
* Send HTTP GET to frontegg domain public route to download the JWT public key
|
|
8
14
|
*/
|
|
9
15
|
const loadPublicKey = async () => {
|
|
10
|
-
const response = await fetch(`${
|
|
16
|
+
const response = await fetch(`${_config.default.baseUrl}${_urls.ApiUrls.WellKnown.jwks}`, {
|
|
11
17
|
cache: 'force-cache'
|
|
12
18
|
});
|
|
13
19
|
const data = await response.json();
|
|
@@ -19,11 +25,11 @@ const loadPublicKey = async () => {
|
|
|
19
25
|
* by providing client's fe_ cookies
|
|
20
26
|
*/
|
|
21
27
|
const refreshTokenEmbedded = async headers => {
|
|
22
|
-
return Post({
|
|
23
|
-
url: `${
|
|
28
|
+
return (0, _utils.Post)({
|
|
29
|
+
url: `${_config.default.baseUrl}${_urls.ApiUrls.refreshToken.embedded}`,
|
|
24
30
|
body: '{}',
|
|
25
31
|
credentials: 'include',
|
|
26
|
-
headers: buildRequestHeaders(headers)
|
|
32
|
+
headers: (0, _utils.buildRequestHeaders)(headers)
|
|
27
33
|
});
|
|
28
34
|
};
|
|
29
35
|
|
|
@@ -32,13 +38,13 @@ const refreshTokenEmbedded = async headers => {
|
|
|
32
38
|
* by providing client's fe_ as body with grant_type.
|
|
33
39
|
*/
|
|
34
40
|
const refreshTokenHostedLogin = async (headers, refresh_token) => {
|
|
35
|
-
return Post({
|
|
36
|
-
url: `${
|
|
41
|
+
return (0, _utils.Post)({
|
|
42
|
+
url: `${_config.default.baseUrl}${_urls.ApiUrls.refreshToken.hosted}`,
|
|
37
43
|
body: JSON.stringify({
|
|
38
44
|
grant_type: 'refresh_token',
|
|
39
45
|
refresh_token
|
|
40
46
|
}),
|
|
41
|
-
headers: buildRequestHeaders(headers, {
|
|
47
|
+
headers: (0, _utils.buildRequestHeaders)(headers, {
|
|
42
48
|
cookie: headers['cookie']
|
|
43
49
|
})
|
|
44
50
|
});
|
|
@@ -48,31 +54,34 @@ const refreshTokenHostedLogin = async (headers, refresh_token) => {
|
|
|
48
54
|
*
|
|
49
55
|
* @param headers
|
|
50
56
|
*/
|
|
51
|
-
|
|
52
|
-
const headersToSend = buildRequestHeaders(headers);
|
|
53
|
-
const res = await Get({
|
|
54
|
-
url: `${
|
|
57
|
+
const getUsers = async headers => {
|
|
58
|
+
const headersToSend = (0, _utils.buildRequestHeaders)(headers);
|
|
59
|
+
const res = await (0, _utils.Get)({
|
|
60
|
+
url: `${_config.default.baseUrl}/frontegg${_restApi.fronteggUsersUrl}`,
|
|
55
61
|
headers: headersToSend
|
|
56
62
|
});
|
|
57
|
-
return parseHttpResponse(res);
|
|
63
|
+
return (0, _utils.parseHttpResponse)(res);
|
|
58
64
|
};
|
|
59
65
|
|
|
60
66
|
/**
|
|
61
67
|
*
|
|
62
68
|
* @param headers
|
|
63
69
|
*/
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
exports.getUsers = getUsers;
|
|
71
|
+
const getTenants = async headers => {
|
|
72
|
+
const res = await (0, _utils.Get)({
|
|
73
|
+
url: `${_config.default.baseUrl}/frontegg${_restApi.fronteggTenantsUrl}`,
|
|
74
|
+
headers: (0, _utils.buildRequestHeaders)(headers)
|
|
68
75
|
});
|
|
69
|
-
return parseHttpResponse(res);
|
|
76
|
+
return (0, _utils.parseHttpResponse)(res);
|
|
70
77
|
};
|
|
71
|
-
|
|
78
|
+
exports.getTenants = getTenants;
|
|
79
|
+
var _default = {
|
|
72
80
|
loadPublicKey,
|
|
73
81
|
refreshTokenEmbedded,
|
|
74
82
|
refreshTokenHostedLogin,
|
|
75
83
|
getUsers,
|
|
76
84
|
getTenants
|
|
77
85
|
};
|
|
86
|
+
exports.default = _default;
|
|
78
87
|
//# sourceMappingURL=index.js.map
|
package/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["_config","_interopRequireDefault","require","_urls","_utils","_restApi","loadPublicKey","response","fetch","config","baseUrl","ApiUrls","WellKnown","jwks","cache","data","json","keys","refreshTokenEmbedded","headers","Post","url","refreshToken","embedded","body","credentials","buildRequestHeaders","refreshTokenHostedLogin","refresh_token","hosted","JSON","stringify","grant_type","cookie","getUsers","headersToSend","res","Get","fronteggUsersUrl","parseHttpResponse","exports","getTenants","fronteggTenantsUrl","_default","default"],"sources":["../../../../packages/nextjs/src/api/index.ts"],"sourcesContent":["import config from '../config';\nimport { ApiUrls } from './urls';\nimport { buildRequestHeaders, Get, parseHttpResponse, Post } from './utils';\nimport { fronteggTenantsUrl, fronteggUsersUrl, ILoginResponse, ITenantsResponse } from '@frontegg/rest-api';\n\n/**\n * Send HTTP GET to frontegg domain public route to download the JWT public key\n */\nconst loadPublicKey = async () => {\n const response = await fetch(`${config.baseUrl}${ApiUrls.WellKnown.jwks}`, {\n cache: 'force-cache',\n });\n const data = await response.json();\n return data.keys[0];\n};\n\n/**\n * Send HTTP post request for Frontegg services to refresh token\n * by providing client's fe_ cookies\n */\nconst refreshTokenEmbedded = async (headers: Record<string, string>) => {\n return Post({\n url: `${config.baseUrl}${ApiUrls.refreshToken.embedded}`,\n body: '{}',\n credentials: 'include',\n headers: buildRequestHeaders(headers),\n });\n};\n\n/**\n * Send HTTP post request for Frontegg services to refresh `hosted login` token\n * by providing client's fe_ as body with grant_type.\n */\nconst refreshTokenHostedLogin = async (headers: Record<string, string>, refresh_token: string) => {\n return Post({\n url: `${config.baseUrl}${ApiUrls.refreshToken.hosted}`,\n body: JSON.stringify({\n grant_type: 'refresh_token',\n refresh_token,\n }),\n headers: buildRequestHeaders(headers, { cookie: headers['cookie'] }),\n });\n};\n\n/**\n *\n * @param headers\n */\nexport const getUsers = async (headers: Record<string, string>): Promise<ILoginResponse | undefined> => {\n const headersToSend = buildRequestHeaders(headers);\n const res = await Get({\n url: `${config.baseUrl}/frontegg${fronteggUsersUrl}`,\n headers: headersToSend,\n });\n return parseHttpResponse(res);\n};\n\n/**\n *\n * @param headers\n */\nexport const getTenants = async (headers: Record<string, string>): Promise<ITenantsResponse[] | undefined> => {\n const res = await Get({\n url: `${config.baseUrl}/frontegg${fronteggTenantsUrl}`,\n headers: buildRequestHeaders(headers),\n });\n return parseHttpResponse(res);\n};\n\nexport default {\n loadPublicKey,\n refreshTokenEmbedded,\n refreshTokenHostedLogin,\n getUsers,\n getTenants,\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA,MAAMI,aAAa,GAAG,MAAAA,CAAA,KAAY;EAChC,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAAE,GAAEC,eAAM,CAACC,OAAQ,GAAEC,aAAO,CAACC,SAAS,CAACC,IAAK,EAAC,EAAE;IACzEC,KAAK,EAAE;EACT,CAAC,CAAC;EACF,MAAMC,IAAI,GAAG,MAAMR,QAAQ,CAACS,IAAI,EAAE;EAClC,OAAOD,IAAI,CAACE,IAAI,CAAC,CAAC,CAAC;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAG,MAAOC,OAA+B,IAAK;EACtE,OAAO,IAAAC,WAAI,EAAC;IACVC,GAAG,EAAG,GAAEZ,eAAM,CAACC,OAAQ,GAAEC,aAAO,CAACW,YAAY,CAACC,QAAS,EAAC;IACxDC,IAAI,EAAE,IAAI;IACVC,WAAW,EAAE,SAAS;IACtBN,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMQ,uBAAuB,GAAG,MAAAA,CAAOR,OAA+B,EAAES,aAAqB,KAAK;EAChG,OAAO,IAAAR,WAAI,EAAC;IACVC,GAAG,EAAG,GAAEZ,eAAM,CAACC,OAAQ,GAAEC,aAAO,CAACW,YAAY,CAACO,MAAO,EAAC;IACtDL,IAAI,EAAEM,IAAI,CAACC,SAAS,CAAC;MACnBC,UAAU,EAAE,eAAe;MAC3BJ;IACF,CAAC,CAAC;IACFT,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO,EAAE;MAAEc,MAAM,EAAEd,OAAO,CAAC,QAAQ;IAAE,CAAC;EACrE,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMe,QAAQ,GAAG,MAAOf,OAA+B,IAA0C;EACtG,MAAMgB,aAAa,GAAG,IAAAT,0BAAmB,EAACP,OAAO,CAAC;EAClD,MAAMiB,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpBhB,GAAG,EAAG,GAAEZ,eAAM,CAACC,OAAQ,YAAW4B,yBAAiB,EAAC;IACpDnB,OAAO,EAAEgB;EACX,CAAC,CAAC;EACF,OAAO,IAAAI,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;;AAED;AACA;AACA;AACA;AAHAI,OAAA,CAAAN,QAAA,GAAAA,QAAA;AAIO,MAAMO,UAAU,GAAG,MAAOtB,OAA+B,IAA8C;EAC5G,MAAMiB,GAAG,GAAG,MAAM,IAAAC,UAAG,EAAC;IACpBhB,GAAG,EAAG,GAAEZ,eAAM,CAACC,OAAQ,YAAWgC,2BAAmB,EAAC;IACtDvB,OAAO,EAAE,IAAAO,0BAAmB,EAACP,OAAO;EACtC,CAAC,CAAC;EACF,OAAO,IAAAoB,wBAAiB,EAACH,GAAG,CAAC;AAC/B,CAAC;AAACI,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAAA,IAAAE,QAAA,GAEa;EACbrC,aAAa;EACbY,oBAAoB;EACpBS,uBAAuB;EACvBO,QAAQ;EACRO;AACF,CAAC;AAAAD,OAAA,CAAAI,OAAA,GAAAD,QAAA"}
|
package/api/urls.js
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ApiUrls = void 0;
|
|
8
|
+
exports.buildLoginRoute = buildLoginRoute;
|
|
9
|
+
exports.buildLogoutRoute = buildLogoutRoute;
|
|
10
|
+
var _restApi = require("@frontegg/rest-api");
|
|
11
|
+
var _config = _interopRequireDefault(require("../config"));
|
|
12
|
+
const ApiUrls = {
|
|
4
13
|
WellKnown: {
|
|
5
14
|
jwks: `/.well-known/jwks.json`
|
|
6
15
|
},
|
|
7
16
|
refreshToken: {
|
|
8
|
-
embedded: `/frontegg${fronteggRefreshTokenUrl}`,
|
|
17
|
+
embedded: `/frontegg${_restApi.fronteggRefreshTokenUrl}`,
|
|
9
18
|
hosted: `/frontegg/oauth/token`
|
|
10
19
|
}
|
|
11
20
|
};
|
|
21
|
+
exports.ApiUrls = ApiUrls;
|
|
12
22
|
/**
|
|
13
23
|
* Builds a login route with a redirect URL encoded as a query parameter.
|
|
14
24
|
*
|
|
@@ -17,8 +27,8 @@ export const ApiUrls = {
|
|
|
17
27
|
*
|
|
18
28
|
* @throws {TypeError} If redirectUrl is not a string.
|
|
19
29
|
*/
|
|
20
|
-
|
|
21
|
-
const asPath = `${
|
|
30
|
+
function buildLoginRoute(redirectUrl) {
|
|
31
|
+
const asPath = `${_config.default.appUrl}/account/login?redirectUrl=${encodeURIComponent(redirectUrl)}`;
|
|
22
32
|
const asUrl = new URL(asPath);
|
|
23
33
|
return {
|
|
24
34
|
asPath,
|
|
@@ -35,7 +45,7 @@ export function buildLoginRoute(redirectUrl) {
|
|
|
35
45
|
*
|
|
36
46
|
* @throws {TypeError} If redirectUrl is not a string.
|
|
37
47
|
*/
|
|
38
|
-
|
|
48
|
+
function buildLogoutRoute(redirectUrl, baseUrl) {
|
|
39
49
|
const asPath = `${baseUrl}/oauth/logout?post_logout_redirect_uri=${encodeURIComponent(redirectUrl)}`;
|
|
40
50
|
const asUrl = new URL(asPath, baseUrl);
|
|
41
51
|
return {
|
package/api/urls.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urls.js","names":["
|
|
1
|
+
{"version":3,"file":"urls.js","names":["_restApi","require","_config","_interopRequireDefault","ApiUrls","WellKnown","jwks","refreshToken","embedded","fronteggRefreshTokenUrl","hosted","exports","buildLoginRoute","redirectUrl","asPath","config","appUrl","encodeURIComponent","asUrl","URL","buildLogoutRoute","baseUrl"],"sources":["../../../../packages/nextjs/src/api/urls.ts"],"sourcesContent":["import { fronteggAuthApiRoutes, fronteggRefreshTokenUrl } from '@frontegg/rest-api';\nimport config from '../config';\n\nexport const ApiUrls = {\n WellKnown: {\n jwks: `/.well-known/jwks.json`,\n },\n refreshToken: {\n embedded: `/frontegg${fronteggRefreshTokenUrl}`,\n hosted: `/frontegg/oauth/token`,\n },\n};\n\ninterface BuildRouteResult {\n asPath: string;\n asUrl: URL;\n}\n\n/**\n * Builds a login route with a redirect URL encoded as a query parameter.\n *\n * @param {string} redirectUrl - The URL to redirect to after successful login.\n * @returns {BuildRouteResult} An object containing the generated login route and URL.\n *\n * @throws {TypeError} If redirectUrl is not a string.\n */\nexport function buildLoginRoute(redirectUrl: string): BuildRouteResult {\n const asPath = `${config.appUrl}/account/login?redirectUrl=${encodeURIComponent(redirectUrl)}`;\n const asUrl = new URL(asPath);\n return {\n asPath,\n asUrl,\n };\n}\n\n/**\n * Builds a HostedLogin's logout route with a redirect URL encoded as a query parameter.\n *\n * @param {string} redirectUrl - The URL to redirect to after successful login.\n * @param {string} baseUrl - The frontegg domain url\n * @returns {BuildRouteResult} An object containing the generated login route and URL.\n *\n * @throws {TypeError} If redirectUrl is not a string.\n */\nexport function buildLogoutRoute(redirectUrl: string, baseUrl: string): BuildRouteResult {\n const asPath = `${baseUrl}/oauth/logout?post_logout_redirect_uri=${encodeURIComponent(redirectUrl)}`;\n const asUrl = new URL(asPath, baseUrl);\n return {\n asPath,\n asUrl,\n };\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEO,MAAMG,OAAO,GAAG;EACrBC,SAAS,EAAE;IACTC,IAAI,EAAG;EACT,CAAC;EACDC,YAAY,EAAE;IACZC,QAAQ,EAAG,YAAWC,gCAAwB,EAAC;IAC/CC,MAAM,EAAG;EACX;AACF,CAAC;AAACC,OAAA,CAAAP,OAAA,GAAAA,OAAA;AAOF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,eAAeA,CAACC,WAAmB,EAAoB;EACrE,MAAMC,MAAM,GAAI,GAAEC,eAAM,CAACC,MAAO,8BAA6BC,kBAAkB,CAACJ,WAAW,CAAE,EAAC;EAC9F,MAAMK,KAAK,GAAG,IAAIC,GAAG,CAACL,MAAM,CAAC;EAC7B,OAAO;IACLA,MAAM;IACNI;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAACP,WAAmB,EAAEQ,OAAe,EAAoB;EACvF,MAAMP,MAAM,GAAI,GAAEO,OAAQ,0CAAyCJ,kBAAkB,CAACJ,WAAW,CAAE,EAAC;EACpG,MAAMK,KAAK,GAAG,IAAIC,GAAG,CAACL,MAAM,EAAEO,OAAO,CAAC;EACtC,OAAO;IACLP,MAAM;IACNI;EACF,CAAC;AACH"}
|
package/api/utils.js
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Post = exports.Get = void 0;
|
|
8
|
+
exports.buildRequestHeaders = buildRequestHeaders;
|
|
9
|
+
exports.isAuthPath = isAuthPath;
|
|
10
|
+
exports.isSocialLoginPath = isSocialLoginPath;
|
|
11
|
+
exports.parseHttpResponse = void 0;
|
|
12
|
+
exports.removeInvalidHeaders = removeInvalidHeaders;
|
|
13
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
14
|
+
var _config = _interopRequireDefault(require("../config"));
|
|
15
|
+
var _sdkVersion = _interopRequireDefault(require("../sdkVersion"));
|
|
16
|
+
var _package = _interopRequireDefault(require("next/package.json"));
|
|
17
|
+
var _restApi = require("@frontegg/rest-api");
|
|
18
|
+
var _constants = require("../utils/common/constants");
|
|
19
|
+
const Get = ({
|
|
8
20
|
url,
|
|
9
21
|
credentials = 'include',
|
|
10
22
|
headers
|
|
@@ -13,7 +25,8 @@ export const Get = ({
|
|
|
13
25
|
credentials,
|
|
14
26
|
headers
|
|
15
27
|
});
|
|
16
|
-
|
|
28
|
+
exports.Get = Get;
|
|
29
|
+
const Post = ({
|
|
17
30
|
url,
|
|
18
31
|
credentials = 'include',
|
|
19
32
|
headers,
|
|
@@ -32,13 +45,14 @@ export const Post = ({
|
|
|
32
45
|
* https://github.com/nodejs/undici/blob/2b260c997ad4efe4ed2064b264b4b546a59e7a67/lib/core/request.js#L282
|
|
33
46
|
* @param headers
|
|
34
47
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
48
|
+
exports.Post = Post;
|
|
49
|
+
function removeInvalidHeaders(headers) {
|
|
50
|
+
const newHeaders = (0, _extends2.default)({}, headers);
|
|
37
51
|
Object.keys(newHeaders).forEach(key => {
|
|
38
52
|
const val = headers[key];
|
|
39
53
|
if (val && typeof val === 'object' && !Array.isArray(val)) {
|
|
40
54
|
delete newHeaders[key];
|
|
41
|
-
} else if (headerCharRegex.exec(val) !== null) {
|
|
55
|
+
} else if (_constants.headerCharRegex.exec(val) !== null) {
|
|
42
56
|
delete newHeaders[key];
|
|
43
57
|
} else if (val === undefined || val === null) {
|
|
44
58
|
delete newHeaders[key];
|
|
@@ -54,7 +68,7 @@ export function removeInvalidHeaders(headers) {
|
|
|
54
68
|
* @param headers - Incoming request headers
|
|
55
69
|
* @param additionalHeaders - Specify additional headers
|
|
56
70
|
*/
|
|
57
|
-
|
|
71
|
+
function buildRequestHeaders(headers, additionalHeaders = {}) {
|
|
58
72
|
let cookie = headers['cookie'];
|
|
59
73
|
if (cookie != null && typeof cookie === 'string') {
|
|
60
74
|
cookie = cookie.replace(/fe_session-[^=]*=[^;]*$/, '').replace(/fe_session-[^=]*=[^;]*;/, '');
|
|
@@ -65,21 +79,21 @@ export function buildRequestHeaders(headers, additionalHeaders = {}) {
|
|
|
65
79
|
'accept-language': headers['accept-language'],
|
|
66
80
|
accept: headers['accept'],
|
|
67
81
|
'content-type': 'application/json',
|
|
68
|
-
origin:
|
|
82
|
+
origin: _config.default.baseUrl,
|
|
69
83
|
cookie,
|
|
70
84
|
'user-agent': headers['user-agent'],
|
|
71
85
|
'cache-control': headers['cache-control'],
|
|
72
|
-
'x-frontegg-framework': `next@${
|
|
73
|
-
'x-frontegg-sdk': `@frontegg/nextjs@${
|
|
86
|
+
'x-frontegg-framework': `next@${_package.default.version}`,
|
|
87
|
+
'x-frontegg-sdk': `@frontegg/nextjs@${_sdkVersion.default.version}`
|
|
74
88
|
};
|
|
75
|
-
return removeInvalidHeaders(
|
|
89
|
+
return removeInvalidHeaders((0, _extends2.default)({}, preparedHeaders, additionalHeaders));
|
|
76
90
|
}
|
|
77
91
|
|
|
78
92
|
/**
|
|
79
93
|
* Return parsed json response if http status code = 200
|
|
80
94
|
* @param res
|
|
81
95
|
*/
|
|
82
|
-
|
|
96
|
+
const parseHttpResponse = async res => {
|
|
83
97
|
if (!res.ok) {
|
|
84
98
|
return undefined;
|
|
85
99
|
}
|
|
@@ -92,8 +106,9 @@ export const parseHttpResponse = async res => {
|
|
|
92
106
|
* @param {string} path - The path to check for authentication API routes.
|
|
93
107
|
* @returns {boolean} Returns true if the path is a frontegg authentication API route or ends with '/postlogin' or '/prelogin'; otherwise, returns false.
|
|
94
108
|
*/
|
|
95
|
-
|
|
96
|
-
|
|
109
|
+
exports.parseHttpResponse = parseHttpResponse;
|
|
110
|
+
function isAuthPath(path) {
|
|
111
|
+
return _restApi.fronteggAuthApiRoutes.indexOf(path) !== -1 || path.endsWith('/postlogin') || path.endsWith('/prelogin');
|
|
97
112
|
}
|
|
98
113
|
|
|
99
114
|
/**
|
|
@@ -102,7 +117,7 @@ export function isAuthPath(path) {
|
|
|
102
117
|
* @param {string} path - The path to check for a social login prelogin route pattern.
|
|
103
118
|
* @returns {boolean} Returns true if the path matches the social login prelogin route pattern; otherwise, returns false.
|
|
104
119
|
*/
|
|
105
|
-
|
|
120
|
+
function isSocialLoginPath(path) {
|
|
106
121
|
return RegExp('^/identity/resources/auth/v[0-9]*/user/sso/default/.*/prelogin$').test(path);
|
|
107
122
|
}
|
|
108
123
|
//# sourceMappingURL=utils.js.map
|
package/api/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_config","_interopRequireDefault","require","_sdkVersion","_package","_restApi","_constants","Get","url","credentials","headers","fetch","method","exports","Post","body","removeInvalidHeaders","newHeaders","_extends2","default","Object","keys","forEach","key","val","Array","isArray","headerCharRegex","exec","undefined","length","buildRequestHeaders","additionalHeaders","cookie","replace","preparedHeaders","authorization","accept","origin","config","baseUrl","nextjsPkg","version","sdkVersion","parseHttpResponse","res","ok","json","isAuthPath","path","fronteggAuthApiRoutes","indexOf","endsWith","isSocialLoginPath","RegExp","test"],"sources":["../../../../packages/nextjs/src/api/utils.ts"],"sourcesContent":["import config from '../config';\nimport sdkVersion from '../sdkVersion';\nimport nextjsPkg from 'next/package.json';\nimport { fronteggAuthApiRoutes } from '@frontegg/rest-api';\nimport { headerCharRegex } from '../utils/common/constants';\n\ninterface GetRequestOptions {\n url: string;\n credentials?: RequestCredentials;\n headers?: HeadersInit;\n}\n\nexport const Get = ({ url, credentials = 'include', headers }: GetRequestOptions) =>\n fetch(url, { method: 'GET', credentials, headers });\n\ninterface PostRequestOptions extends GetRequestOptions {\n body: string;\n}\n\nexport const Post = ({ url, credentials = 'include', headers, body }: PostRequestOptions) =>\n fetch(url, { method: 'POST', credentials, headers, body });\n\n/**\n * NodeJS 18 start using undici as http request handler,\n * undici http request does not accept invalid headers\n * for more details see:\n * https://github.com/nodejs/undici/blob/2b260c997ad4efe4ed2064b264b4b546a59e7a67/lib/core/request.js#L282\n * @param headers\n */\nexport function removeInvalidHeaders(headers: Record<string, string>) {\n const newHeaders = { ...headers };\n Object.keys(newHeaders).forEach((key: string) => {\n const val: any = headers[key];\n if (val && typeof val === 'object' && !Array.isArray(val)) {\n delete newHeaders[key];\n } else if (headerCharRegex.exec(val) !== null) {\n delete newHeaders[key];\n } else if (val === undefined || val === null) {\n delete newHeaders[key];\n } else if (key.length === 10 && key === 'connection') {\n delete newHeaders[key];\n }\n });\n return newHeaders;\n}\n\n/**\n * Build fetch request headers, remove invalid http headers\n * @param headers - Incoming request headers\n * @param additionalHeaders - Specify additional headers\n */\nexport function buildRequestHeaders(\n headers: Record<string, any>,\n additionalHeaders: Record<string, string> = {}\n): Record<string, string> {\n let cookie = headers['cookie'];\n if (cookie != null && typeof cookie === 'string') {\n cookie = cookie.replace(/fe_session-[^=]*=[^;]*$/, '').replace(/fe_session-[^=]*=[^;]*;/, '');\n }\n const preparedHeaders: Record<string, string> = {\n authorization: headers['authorization'],\n 'accept-encoding': headers['accept-encoding'],\n 'accept-language': headers['accept-language'],\n accept: headers['accept'],\n 'content-type': 'application/json',\n origin: config.baseUrl,\n cookie,\n 'user-agent': headers['user-agent'],\n 'cache-control': headers['cache-control'],\n 'x-frontegg-framework': `next@${nextjsPkg.version}`,\n 'x-frontegg-sdk': `@frontegg/nextjs@${sdkVersion.version}`,\n };\n\n return removeInvalidHeaders({\n ...preparedHeaders,\n ...additionalHeaders,\n });\n}\n\n/**\n * Return parsed json response if http status code = 200\n * @param res\n */\nexport const parseHttpResponse = async <T>(res: Response): Promise<T | undefined> => {\n if (!res.ok) {\n return undefined;\n }\n return await res.json();\n};\n\n/**\n * Checks if the given path is a frontegg authentication API route, ends with '/postlogin', or ends with '/prelogin'.\n *\n * @param {string} path - The path to check for authentication API routes.\n * @returns {boolean} Returns true if the path is a frontegg authentication API route or ends with '/postlogin' or '/prelogin'; otherwise, returns false.\n */\nexport function isAuthPath(path: string): boolean {\n return fronteggAuthApiRoutes.indexOf(path) !== -1 || path.endsWith('/postlogin') || path.endsWith('/prelogin');\n}\n\n/**\n * Checks if the given path matches the pattern for a social login prelogin route.\n *\n * @param {string} path - The path to check for a social login prelogin route pattern.\n * @returns {boolean} Returns true if the path matches the social login prelogin route pattern; otherwise, returns false.\n */\nexport function isSocialLoginPath(path: string): boolean {\n return RegExp('^/identity/resources/auth/v[0-9]*/user/sso/default/.*/prelogin$').test(path);\n}\n"],"mappings":"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"}
|
|
@@ -1,25 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
'use client';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ClientFronteggProvider = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var _common = require("../common");
|
|
12
|
+
var _navigation = require("next/navigation");
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
5
15
|
const _excluded = ["children", "basename"];
|
|
6
|
-
|
|
7
|
-
import { useRouter } from 'next/navigation';
|
|
8
|
-
import React from 'react';
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
export const ClientFronteggProvider = _ref => {
|
|
16
|
+
const ClientFronteggProvider = _ref => {
|
|
11
17
|
let {
|
|
12
18
|
children,
|
|
13
19
|
basename
|
|
14
20
|
} = _ref,
|
|
15
|
-
props =
|
|
16
|
-
const router = useRouter();
|
|
21
|
+
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
22
|
+
const router = (0, _navigation.useRouter)();
|
|
17
23
|
const basePath = process.env.__NEXT_ROUTER_BASEPATH || '';
|
|
18
|
-
return /*#__PURE__*/
|
|
24
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_common.FronteggBaseProvider, (0, _extends2.default)({
|
|
19
25
|
router: router,
|
|
20
26
|
basename: basename != null ? basename : basePath
|
|
21
27
|
}, props, {
|
|
22
28
|
children: children
|
|
23
29
|
}));
|
|
24
30
|
};
|
|
31
|
+
exports.ClientFronteggProvider = ClientFronteggProvider;
|
|
25
32
|
//# sourceMappingURL=ClientFronteggProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientFronteggProvider.js","names":["
|
|
1
|
+
{"version":3,"file":"ClientFronteggProvider.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","ClientFronteggProvider","_extends2","_objectWithoutPropertiesLoose2","_common","_navigation","_react","_jsxRuntime","_excluded","_ref","children","basename","props","default","router","useRouter","basePath","process","env","__NEXT_ROUTER_BASEPATH","jsx","FronteggBaseProvider"],"sources":["../../../../packages/nextjs/src/app/ClientFronteggProvider.tsx"],"sourcesContent":["'use client';\n\nimport type { FronteggProviderProps } from '../types';\nimport { FronteggBaseProvider } from '../common';\nimport { useRouter } from 'next/navigation';\nimport React, { FC } from 'react';\n\nexport const ClientFronteggProvider: FC<Omit<FronteggProviderProps, 'router'>> = ({ children, basename, ...props }) => {\n const router = useRouter();\n const basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\n\n return (\n <FronteggBaseProvider router={router} basename={basename ?? basePath} {...props}>\n {children}\n </FronteggBaseProvider>\n );\n};\n"],"mappings":";AAAA,YAAY;;AAAC,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,sBAAA;AAAA,IAAAC,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAAA,IAAAO,8BAAA,GAAAR,sBAAA,CAAAC,OAAA;AAGb,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAX,sBAAA,CAAAC,OAAA;AAAkC,IAAAW,WAAA,GAAAX,OAAA;AAAA,MAAAY,SAAA;AAE3B,MAAMP,sBAAiE,GAAGQ,IAAA,IAAsC;EAAA,IAArC;MAAEC,QAAQ;MAAEC;IAAmB,CAAC,GAAAF,IAAA;IAAPG,KAAK,OAAAT,8BAAA,CAAAU,OAAA,EAAAJ,IAAA,EAAAD,SAAA;EAC9G,MAAMM,MAAM,GAAG,IAAAC,qBAAS,GAAE;EAC1B,MAAMC,QAAQ,GAAGC,OAAO,CAACC,GAAG,CAACC,sBAAsB,IAAI,EAAE;EAEzD,oBACE,IAAAZ,WAAA,CAAAa,GAAA,EAAChB,OAAA,CAAAiB,oBAAoB,MAAAnB,SAAA,CAAAW,OAAA;IAACC,MAAM,EAAEA,MAAO;IAACH,QAAQ,EAAEA,QAAQ,WAARA,QAAQ,GAAIK;EAAS,GAAKJ,KAAK;IAAAF,QAAA,EAC5EA;EAAQ,GACY;AAE3B,CAAC;AAACX,OAAA,CAAAE,sBAAA,GAAAA,sBAAA"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FronteggAppProvider = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _ClientFronteggProvider = require("./ClientFronteggProvider");
|
|
11
|
+
var _helpers = require("./helpers");
|
|
12
|
+
var _config = _interopRequireDefault(require("../config"));
|
|
13
|
+
var _fetchUserData = _interopRequireDefault(require("../utils/fetchUserData"));
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
+
const FronteggAppProvider = async options => {
|
|
16
|
+
const appEnvConfig = _config.default.appEnvConfig;
|
|
17
|
+
const userData = await (0, _fetchUserData.default)({
|
|
18
|
+
getSession: _helpers.getAppSession,
|
|
19
|
+
getHeaders: _helpers.getAppHeaders
|
|
13
20
|
});
|
|
14
|
-
const providerProps =
|
|
15
|
-
return /*#__PURE__*/
|
|
21
|
+
const providerProps = (0, _extends2.default)({}, appEnvConfig, userData, options);
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClientFronteggProvider.ClientFronteggProvider, (0, _extends2.default)({}, providerProps));
|
|
16
23
|
};
|
|
24
|
+
exports.FronteggAppProvider = FronteggAppProvider;
|
|
17
25
|
//# sourceMappingURL=FronteggAppProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FronteggAppProvider.js","names":["
|
|
1
|
+
{"version":3,"file":"FronteggAppProvider.js","names":["_react","_interopRequireDefault","require","_ClientFronteggProvider","_helpers","_config","_fetchUserData","_jsxRuntime","FronteggAppProvider","options","appEnvConfig","config","userData","fetchUserData","getSession","getAppSession","getHeaders","getAppHeaders","providerProps","_extends2","default","jsx","ClientFronteggProvider","exports"],"sources":["../../../../packages/nextjs/src/app/FronteggAppProvider.tsx"],"sourcesContent":["import React, { PropsWithChildren } from 'react';\nimport { ClientFronteggProvider } from './ClientFronteggProvider';\nimport { FronteggAppOptions } from '@frontegg/types';\nimport { getAppHeaders, getAppSession } from './helpers';\nimport config from '../config';\nimport fetchUserData from '../utils/fetchUserData';\n\nexport type FronteggAppProviderProps = PropsWithChildren<Omit<FronteggAppOptions, 'contextOptions'>>;\n\nexport const FronteggAppProvider = async (options: FronteggAppProviderProps) => {\n const appEnvConfig = config.appEnvConfig;\n const userData = await fetchUserData({ getSession: getAppSession, getHeaders: getAppHeaders });\n\n const providerProps = {\n ...appEnvConfig,\n ...userData,\n ...options,\n };\n\n return <ClientFronteggProvider {...providerProps} />;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAmD,IAAAK,WAAA,GAAAL,OAAA;AAI5C,MAAMM,mBAAmB,GAAG,MAAOC,OAAiC,IAAK;EAC9E,MAAMC,YAAY,GAAGC,eAAM,CAACD,YAAY;EACxC,MAAME,QAAQ,GAAG,MAAM,IAAAC,sBAAa,EAAC;IAAEC,UAAU,EAAEC,sBAAa;IAAEC,UAAU,EAAEC;EAAc,CAAC,CAAC;EAE9F,MAAMC,aAAa,OAAAC,SAAA,CAAAC,OAAA,MACdV,YAAY,EACZE,QAAQ,EACRH,OAAO,CACX;EAED,oBAAO,IAAAF,WAAA,CAAAc,GAAA,EAAClB,uBAAA,CAAAmB,sBAAsB,MAAAH,SAAA,CAAAC,OAAA,MAAKF,aAAa,EAAI;AACtD,CAAC;AAACK,OAAA,CAAAf,mBAAA,GAAAA,mBAAA"}
|
package/app/FronteggAppRouter.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.FronteggAppRouter = FronteggAppRouter;
|
|
8
|
+
var _navigation = require("next/navigation");
|
|
9
|
+
var _routing = require("../utils/routing");
|
|
10
|
+
var _FronteggRouterBase = require("../common/FronteggRouterBase");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function FronteggAppRouter({
|
|
7
14
|
params: {
|
|
8
15
|
'frontegg-router': pathArr = []
|
|
9
16
|
},
|
|
@@ -15,17 +22,18 @@ export function FronteggAppRouter({
|
|
|
15
22
|
const query = searchParams[Object.keys(searchParams)[0]];
|
|
16
23
|
pathname = `/${Array.isArray(query) ? query.join('/') : query}`;
|
|
17
24
|
} else {
|
|
18
|
-
notFound();
|
|
25
|
+
(0, _navigation.notFound)();
|
|
19
26
|
return null;
|
|
20
27
|
}
|
|
21
28
|
}
|
|
22
|
-
if (!isAuthRoute(pathname)) {
|
|
23
|
-
notFound();
|
|
29
|
+
if (!(0, _routing.isAuthRoute)(pathname)) {
|
|
30
|
+
(0, _navigation.notFound)();
|
|
24
31
|
return null;
|
|
25
32
|
}
|
|
26
|
-
return /*#__PURE__*/
|
|
33
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FronteggRouterBase.FronteggRouterBase, {
|
|
27
34
|
pathArr: pathArr,
|
|
28
|
-
queryParams: searchParams
|
|
35
|
+
queryParams: searchParams,
|
|
36
|
+
isAppDirEnabled: true
|
|
29
37
|
});
|
|
30
38
|
}
|
|
31
39
|
//# sourceMappingURL=FronteggAppRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FronteggAppRouter.js","names":["
|
|
1
|
+
{"version":3,"file":"FronteggAppRouter.js","names":["_navigation","require","_routing","_FronteggRouterBase","_react","_interopRequireDefault","_jsxRuntime","FronteggAppRouter","params","pathArr","searchParams","pathname","join","startsWith","query","Object","keys","Array","isArray","notFound","isAuthRoute","jsx","FronteggRouterBase","queryParams","isAppDirEnabled"],"sources":["../../../../packages/nextjs/src/app/FronteggAppRouter.tsx"],"sourcesContent":["import { notFound } from 'next/navigation';\nimport { ParsedUrlQuery } from 'querystring';\nimport { isAuthRoute } from '../utils/routing';\nimport { FronteggRouterBase } from '../common/FronteggRouterBase';\nimport React from 'react';\n\ninterface FronteggRouterProps {\n params: ParsedUrlQuery & { 'frontegg-router'?: string[] };\n searchParams?: ParsedUrlQuery;\n}\n\nexport function FronteggAppRouter({ params: { 'frontegg-router': pathArr = [] }, searchParams }: FronteggRouterProps) {\n let pathname = `/${pathArr.join('/')}`;\n if (!pathname || pathname.startsWith('/_next/data')) {\n if (searchParams) {\n const query = searchParams[Object.keys(searchParams)[0]];\n pathname = `/${Array.isArray(query) ? query.join('/') : query}`;\n } else {\n notFound();\n return null;\n }\n }\n\n if (!isAuthRoute(pathname)) {\n notFound();\n return null;\n }\n\n return <FronteggRouterBase pathArr={pathArr} queryParams={searchParams} isAppDirEnabled />;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA0B,IAAAK,WAAA,GAAAL,OAAA;AAOnB,SAASM,iBAAiBA,CAAC;EAAEC,MAAM,EAAE;IAAE,iBAAiB,EAAEC,OAAO,GAAG;EAAG,CAAC;EAAEC;AAAkC,CAAC,EAAE;EACpH,IAAIC,QAAQ,GAAI,IAAGF,OAAO,CAACG,IAAI,CAAC,GAAG,CAAE,EAAC;EACtC,IAAI,CAACD,QAAQ,IAAIA,QAAQ,CAACE,UAAU,CAAC,aAAa,CAAC,EAAE;IACnD,IAAIH,YAAY,EAAE;MAChB,MAAMI,KAAK,GAAGJ,YAAY,CAACK,MAAM,CAACC,IAAI,CAACN,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;MACxDC,QAAQ,GAAI,IAAGM,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,GAAGA,KAAK,CAACF,IAAI,CAAC,GAAG,CAAC,GAAGE,KAAM,EAAC;IACjE,CAAC,MAAM;MACL,IAAAK,oBAAQ,GAAE;MACV,OAAO,IAAI;IACb;EACF;EAEA,IAAI,CAAC,IAAAC,oBAAW,EAACT,QAAQ,CAAC,EAAE;IAC1B,IAAAQ,oBAAQ,GAAE;IACV,OAAO,IAAI;EACb;EAEA,oBAAO,IAAAb,WAAA,CAAAe,GAAA,EAAClB,mBAAA,CAAAmB,kBAAkB;IAACb,OAAO,EAAEA,OAAQ;IAACc,WAAW,EAAEb,YAAa;IAACc,eAAe;EAAA,EAAG;AAC5F"}
|
package/app/helpers.js
CHANGED
|
@@ -1,25 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getAppSession = exports.getAppHeaders = void 0;
|
|
8
|
+
exports.getAppUserSession = getAppUserSession;
|
|
9
|
+
exports.getAppUserTokens = getAppUserTokens;
|
|
10
|
+
var _headers = require("next/headers");
|
|
11
|
+
var _cookies = _interopRequireDefault(require("../utils/cookies"));
|
|
12
|
+
var _createSession = _interopRequireDefault(require("../utils/createSession"));
|
|
13
|
+
var _encryption = _interopRequireDefault(require("../utils/encryption"));
|
|
5
14
|
const getCookie = () => {
|
|
6
|
-
const allCookies = cookies().getAll();
|
|
7
|
-
return
|
|
15
|
+
const allCookies = (0, _headers.cookies)().getAll();
|
|
16
|
+
return _cookies.default.parseCookieFromArray(allCookies);
|
|
8
17
|
};
|
|
9
|
-
|
|
18
|
+
const getAppSession = () => {
|
|
10
19
|
const cookies = getCookie();
|
|
11
|
-
return
|
|
20
|
+
return (0, _createSession.default)(cookies, _encryption.default);
|
|
12
21
|
};
|
|
13
|
-
|
|
22
|
+
exports.getAppSession = getAppSession;
|
|
23
|
+
const getAppHeaders = async () => {
|
|
14
24
|
const reqHeaders = {};
|
|
15
|
-
headers().forEach((value, key) => reqHeaders[key] = value);
|
|
25
|
+
(0, _headers.headers)().forEach((value, key) => reqHeaders[key] = value);
|
|
16
26
|
return reqHeaders;
|
|
17
27
|
};
|
|
18
|
-
|
|
28
|
+
exports.getAppHeaders = getAppHeaders;
|
|
29
|
+
async function getAppUserSession() {
|
|
19
30
|
const session = await getAppSession();
|
|
20
31
|
return session == null ? void 0 : session.user;
|
|
21
32
|
}
|
|
22
|
-
|
|
33
|
+
async function getAppUserTokens() {
|
|
23
34
|
const session = await getAppSession();
|
|
24
35
|
if (!session) {
|
|
25
36
|
return undefined;
|