@frontegg/js 6.124.0 → 6.125.0-alpha.1

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.
@@ -3,7 +3,7 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
3
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
4
  import _createClass from "@babel/runtime/helpers/esm/createClass";
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
- import { createFronteggStore, getPermissionEntitlements as _getPermissionEntitlements, getFeatureEntitlements as _getFeatureEntitlements, loadEntitlementsOnDemand } from '@frontegg/redux-store';
6
+ import { createFronteggStore, getPermissionEntitlements as _getPermissionEntitlements, getFeatureEntitlements as _getFeatureEntitlements } from '@frontegg/redux-store';
7
7
  import { Metadata } from '@frontegg/types';
8
8
  import { formatName, restoreSearchParams } from '../utils';
9
9
  import { AppHolder } from '../AppHolder';
@@ -481,7 +481,12 @@ export var FronteggApp = /*#__PURE__*/function () {
481
481
  }, {
482
482
  key: "loadEntitlements",
483
483
  value: function loadEntitlements(callback) {
484
- loadEntitlementsOnDemand(callback);
484
+ this.store.dispatch({
485
+ type: 'auth/loadEntitlements',
486
+ payload: {
487
+ callback: callback
488
+ }
489
+ });
485
490
  }
486
491
  }, {
487
492
  key: "close",
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v6.124.0
1
+ /** @license Frontegg v6.125.0-alpha.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -488,7 +488,12 @@ var FronteggApp = /*#__PURE__*/function () {
488
488
  }, {
489
489
  key: "loadEntitlements",
490
490
  value: function loadEntitlements(callback) {
491
- (0, _reduxStore.loadEntitlementsOnDemand)(callback);
491
+ this.store.dispatch({
492
+ type: 'auth/loadEntitlements',
493
+ payload: {
494
+ callback: callback
495
+ }
496
+ });
492
497
  }
493
498
  }, {
494
499
  key: "close",
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Frontegg v6.124.0
1
+ /** @license Frontegg v6.125.0-alpha.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/node/version.js CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _default = {
8
- cdnVersion: '6.124.0'
8
+ cdnVersion: '6.125.0-alpha.1'
9
9
  };
10
10
  exports["default"] = _default;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@frontegg/js",
3
- "version": "6.124.0",
3
+ "version": "6.125.0-alpha.1",
4
4
  "main": "./node/index.js",
5
5
  "license": "MIT",
6
6
  "author": "Frontegg LTD",
7
7
  "dependencies": {
8
8
  "@babel/runtime": "^7.18.6",
9
- "@frontegg/types": "6.124.0"
9
+ "@frontegg/types": "6.125.0-alpha.1"
10
10
  },
11
11
  "browserslist": {
12
12
  "production": [
@@ -302,7 +302,6 @@ __webpack_require__.r(__webpack_exports__);
302
302
  /* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4__);
303
303
  /* harmony import */ var _frontegg_redux_store__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @frontegg/redux-store */ "../../dist/@frontegg/redux-store/toolkit/index.js");
304
304
  /* harmony import */ var _frontegg_redux_store__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @frontegg/redux-store */ "../../dist/@frontegg/redux-store/auth/Entitlements/utils.js");
305
- /* harmony import */ var _frontegg_redux_store__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @frontegg/redux-store */ "../../dist/@frontegg/redux-store/auth/Entitlements/saga.js");
306
305
  /* harmony import */ var _frontegg_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @frontegg/types */ "../../dist/@frontegg/types/Metadata/index.js");
307
306
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ "../../dist/@frontegg/js/utils/index.js");
308
307
  /* harmony import */ var _AppHolder__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../AppHolder */ "../../dist/@frontegg/js/AppHolder/index.js");
@@ -799,7 +798,12 @@ var FronteggApp = /*#__PURE__*/function () {
799
798
  }, {
800
799
  key: "loadEntitlements",
801
800
  value: function loadEntitlements(callback) {
802
- (0,_frontegg_redux_store__WEBPACK_IMPORTED_MODULE_18__.loadEntitlementsOnDemand)(callback);
801
+ this.store.dispatch({
802
+ type: 'auth/loadEntitlements',
803
+ payload: {
804
+ callback: callback
805
+ }
806
+ });
803
807
  }
804
808
  }, {
805
809
  key: "close",
@@ -1300,7 +1304,7 @@ __webpack_require__.r(__webpack_exports__);
1300
1304
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1301
1305
  /* harmony export */ });
1302
1306
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
1303
- cdnVersion: '6.124.0'
1307
+ cdnVersion: '6.125.0-alpha.1'
1304
1308
  });
1305
1309
 
1306
1310
  /***/ }),
@@ -3868,8 +3872,7 @@ __webpack_require__.r(__webpack_exports__);
3868
3872
  /* harmony export */ "getPermissionEntitlements": () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_1__.getPermissionEntitlements),
3869
3873
  /* harmony export */ "handleFetchedEntitlements": () => (/* reexport safe */ _saga__WEBPACK_IMPORTED_MODULE_0__.handleFetchedEntitlements),
3870
3874
  /* harmony export */ "isEntitlementsChanged": () => (/* reexport safe */ _saga__WEBPACK_IMPORTED_MODULE_0__.isEntitlementsChanged),
3871
- /* harmony export */ "loadEntitlements": () => (/* reexport safe */ _saga__WEBPACK_IMPORTED_MODULE_0__.loadEntitlements),
3872
- /* harmony export */ "loadEntitlementsOnDemand": () => (/* reexport safe */ _saga__WEBPACK_IMPORTED_MODULE_0__.loadEntitlementsOnDemand)
3875
+ /* harmony export */ "loadEntitlements": () => (/* reexport safe */ _saga__WEBPACK_IMPORTED_MODULE_0__.loadEntitlements)
3873
3876
  /* harmony export */ });
3874
3877
  /* harmony import */ var _saga__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./saga */ "../../dist/@frontegg/redux-store/auth/Entitlements/saga.js");
3875
3878
  /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "../../dist/@frontegg/redux-store/auth/Entitlements/utils.js");
@@ -3892,8 +3895,7 @@ __webpack_require__.r(__webpack_exports__);
3892
3895
  /* harmony export */ "entitlementsSagas": () => (/* binding */ entitlementsSagas),
3893
3896
  /* harmony export */ "handleFetchedEntitlements": () => (/* binding */ handleFetchedEntitlements),
3894
3897
  /* harmony export */ "isEntitlementsChanged": () => (/* binding */ isEntitlementsChanged),
3895
- /* harmony export */ "loadEntitlements": () => (/* binding */ loadEntitlements),
3896
- /* harmony export */ "loadEntitlementsOnDemand": () => (/* binding */ loadEntitlementsOnDemand)
3898
+ /* harmony export */ "loadEntitlements": () => (/* binding */ loadEntitlements)
3897
3899
  /* harmony export */ });
3898
3900
  /* harmony import */ var fast_deep_equal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fast-deep-equal */ "../../node_modules/fast-deep-equal/index.js");
3899
3901
  /* harmony import */ var fast_deep_equal__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fast_deep_equal__WEBPACK_IMPORTED_MODULE_0__);
@@ -3931,11 +3933,15 @@ function* handleFetchedEntitlements(newEntitlementsResponse) {
3931
3933
  }
3932
3934
 
3933
3935
  /**
3934
- * Load entitlements data (exposed by frontegg app)
3936
+ * Load entitlements data for saga action
3935
3937
  * Don't update entitlements data in the store when data is equal (deep check) to the existing store data
3936
- * @param callback called on request completed with true if succeeded, false if failed
3938
+ * @param payloadAction saga payload action including a payload with/out a callback
3939
+ * The callback will be called on request completed with true if succeeded, false if failed
3937
3940
  */
3938
- function* loadEntitlementsOnDemand(callback) {
3941
+ function* loadEntitlements({
3942
+ payload
3943
+ }) {
3944
+ const callback = payload == null ? void 0 : payload.callback;
3939
3945
  try {
3940
3946
  const entitlements = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_1__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_3__.api.entitlements.loadEntitlements);
3941
3947
  yield handleFetchedEntitlements(entitlements);
@@ -3944,18 +3950,6 @@ function* loadEntitlementsOnDemand(callback) {
3944
3950
  callback == null ? void 0 : callback(false);
3945
3951
  } finally {}
3946
3952
  }
3947
-
3948
- /**
3949
- * Load entitlements data for saga action
3950
- * Don't update entitlements data in the store when data is equal (deep check) to the existing store data
3951
- * @param payloadAction saga payload action including a payload with/out a callback
3952
- * The callback will be called on request completed with true if succeeded, false if failed
3953
- */
3954
- function* loadEntitlements({
3955
- payload
3956
- }) {
3957
- yield loadEntitlementsOnDemand(payload == null ? void 0 : payload.callback);
3958
- }
3959
3953
  function* entitlementsSagas() {
3960
3954
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_1__.takeLeading)(_reducer__WEBPACK_IMPORTED_MODULE_2__.actions.loadEntitlements, loadEntitlements);
3961
3955
  }
@@ -6075,13 +6069,20 @@ function* loadCustomLoginRoutes() {
6075
6069
  try {
6076
6070
  var _ContextHolder$getCon3, _ContextHolder$getCon4;
6077
6071
  if ((_ContextHolder$getCon3 = _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_5__.ContextHolder.getContext()) != null && (_ContextHolder$getCon4 = _ContextHolder$getCon3.tenantResolver) != null && _ContextHolder$getCon4.call(_ContextHolder$getCon3)) {
6072
+ const {
6073
+ getSettings,
6074
+ getPublicSettings
6075
+ } = _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_9__.api.accountSettings;
6076
+ const isAuthenticated = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.select)(({
6077
+ auth
6078
+ }) => auth.isAuthenticated);
6078
6079
  const {
6079
6080
  routes
6080
6081
  } = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.select)(state => state.auth);
6081
6082
  const {
6082
6083
  applicationUrl,
6083
6084
  loginUrl
6084
- } = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_9__.api.accountSettings.getPublicSettings);
6085
+ } = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(isAuthenticated ? getSettings : getPublicSettings);
6085
6086
  if (applicationUrl && loginUrl) {
6086
6087
  var _getSearchParamsFromU;
6087
6088
  const searchParams = (_getSearchParamsFromU = (0,_utils__WEBPACK_IMPORTED_MODULE_8__.getSearchParamsFromUrl)(applicationUrl)) != null ? _getSearchParamsFromU : '';
@@ -6098,7 +6099,19 @@ function* loadCustomLoginRoutes() {
6098
6099
  function* requestAuthorize({
6099
6100
  payload: firstTime
6100
6101
  }) {
6102
+ var _ContextHolder$getCon5;
6101
6103
  const calls = [];
6104
+ const hasTenantResolver = !!((_ContextHolder$getCon5 = _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_5__.ContextHolder.getContext()) != null && _ContextHolder$getCon5.tenantResolver);
6105
+ if (hasTenantResolver) {
6106
+ /*
6107
+ // waiting for refreshToken to be loaded is only necessary for custom login
6108
+ // but doing this will degrade the loading performance in around 500 ms
6109
+ // so we will wait for the refreshToken only if there is tenantResolver
6110
+ */
6111
+ yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(refreshToken);
6112
+ } else {
6113
+ calls.push((0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(refreshToken));
6114
+ }
6102
6115
  if (firstTime) {
6103
6116
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_4__.actions.setState({
6104
6117
  isLoading: true
@@ -6111,7 +6124,6 @@ function* requestAuthorize({
6111
6124
  calls.push((0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(refreshMetadata));
6112
6125
  calls.push((0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(loadCustomLoginRoutes));
6113
6126
  }
6114
- calls.push((0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(refreshToken));
6115
6127
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.all)(calls);
6116
6128
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_4__.actions.setState({
6117
6129
  isLoading: false
@@ -6197,8 +6209,8 @@ function* refreshOrRequestHostedLoginAuthorize({
6197
6209
  }
6198
6210
  function* getCustomLoginSearchParam() {
6199
6211
  try {
6200
- var _ContextHolder$getCon5, _ContextHolder$getCon6;
6201
- if ((_ContextHolder$getCon5 = _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_5__.ContextHolder.getContext()) != null && (_ContextHolder$getCon6 = _ContextHolder$getCon5.tenantResolver) != null && _ContextHolder$getCon6.call(_ContextHolder$getCon5)) {
6212
+ var _ContextHolder$getCon6, _ContextHolder$getCon7;
6213
+ if ((_ContextHolder$getCon6 = _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_5__.ContextHolder.getContext()) != null && (_ContextHolder$getCon7 = _ContextHolder$getCon6.tenantResolver) != null && _ContextHolder$getCon7.call(_ContextHolder$getCon6)) {
6202
6214
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(loadCustomLoginRoutes);
6203
6215
  const customLoginAuthenticatedUrl = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.select)(state => state.auth.routes.customLoginAuthenticatedUrl);
6204
6216
  if (customLoginAuthenticatedUrl) {
@@ -13108,6 +13120,7 @@ const Matcher = {};
13108
13120
  "use strict";
13109
13121
  __webpack_require__.r(__webpack_exports__);
13110
13122
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13123
+ /* harmony export */ "getAuthStrategy": () => (/* binding */ getAuthStrategy),
13111
13124
  /* harmony export */ "loadPublicAuthStrategiesPolicy": () => (/* binding */ loadPublicAuthStrategiesPolicy),
13112
13125
  /* harmony export */ "loadPublicSecurityPolicy": () => (/* binding */ loadPublicSecurityPolicy),
13113
13126
  /* harmony export */ "loadPublicSecurityPolicyMock": () => (/* binding */ loadPublicSecurityPolicyMock),
@@ -13188,13 +13201,25 @@ function* loadPublicSecurityPolicy() {
13188
13201
  }));
13189
13202
  }
13190
13203
  }
13204
+ function* getAuthStrategy() {
13205
+ const isAuthenticated = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.select)(({
13206
+ auth
13207
+ }) => auth.isAuthenticated);
13208
+ let policy;
13209
+ if (isAuthenticated) {
13210
+ policy = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getPublicAuthStrategiesConfigForAuthenticatedUser);
13211
+ } else {
13212
+ policy = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getVendorPublicAuthStrategiesConfig);
13213
+ }
13214
+ return policy;
13215
+ }
13191
13216
  function* loadPublicAuthStrategiesPolicy() {
13192
13217
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSecurityPolicyAuthStrategyPublicState({
13193
13218
  loading: true,
13194
13219
  error: null
13195
13220
  }));
13196
13221
  try {
13197
- const policy = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getVendorPublicAuthStrategiesConfig);
13222
+ const policy = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(getAuthStrategy);
13198
13223
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSecurityPolicyAuthStrategyPublicState({
13199
13224
  policy,
13200
13225
  loading: false
@@ -14121,14 +14146,15 @@ __webpack_require__.r(__webpack_exports__);
14121
14146
  /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js");
14122
14147
  /* harmony import */ var redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! redux-saga/effects */ "../../node_modules/redux-saga/dist/redux-saga-effects-npm-proxy.esm.js");
14123
14148
  /* harmony import */ var _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @frontegg/rest-api */ "../../node_modules/@frontegg/rest-api/index.js");
14124
- /* harmony import */ var _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @frontegg/rest-api */ "../../node_modules/@frontegg/rest-api/ContextHolder/index.js");
14149
+ /* harmony import */ var _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @frontegg/rest-api */ "../../node_modules/@frontegg/rest-api/ContextHolder/index.js");
14125
14150
  /* harmony import */ var _reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../reducer */ "../../dist/@frontegg/redux-store/auth/reducer.js");
14126
- /* harmony import */ var _interfaces__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./interfaces */ "../../dist/@frontegg/redux-store/auth/SignUp/interfaces.js");
14127
- /* harmony import */ var _interfaces__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../interfaces */ "../../dist/@frontegg/redux-store/auth/interfaces.js");
14128
- /* harmony import */ var _LoginState_saga__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../LoginState/saga */ "../../dist/@frontegg/redux-store/auth/LoginState/saga.js");
14151
+ /* harmony import */ var _interfaces__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./interfaces */ "../../dist/@frontegg/redux-store/auth/SignUp/interfaces.js");
14152
+ /* harmony import */ var _interfaces__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../interfaces */ "../../dist/@frontegg/redux-store/auth/interfaces.js");
14153
+ /* harmony import */ var _LoginState_saga__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../LoginState/saga */ "../../dist/@frontegg/redux-store/auth/LoginState/saga.js");
14129
14154
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../helpers */ "../../dist/@frontegg/redux-store/helpers.js");
14130
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils */ "../../dist/@frontegg/redux-store/utils/errorHandler.js");
14131
- /* harmony import */ var _LoginState_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../LoginState/utils */ "../../dist/@frontegg/redux-store/auth/LoginState/utils.js");
14155
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ "../../dist/@frontegg/redux-store/utils/errorHandler.js");
14156
+ /* harmony import */ var _LoginState_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../LoginState/utils */ "../../dist/@frontegg/redux-store/auth/LoginState/utils.js");
14157
+ /* harmony import */ var _SecurityPolicyState_saga__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../SecurityPolicyState/saga */ "../../dist/@frontegg/redux-store/auth/SecurityPolicyState/saga.js");
14132
14158
 
14133
14159
 
14134
14160
  const _excluded = ["events", "url"];
@@ -14141,16 +14167,16 @@ const _excluded = ["events", "url"];
14141
14167
 
14142
14168
 
14143
14169
 
14170
+
14144
14171
  function* loadAllowSignUps() {
14145
14172
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSignUpState({
14146
14173
  loading: true
14147
14174
  }));
14148
14175
  try {
14149
14176
  const policy = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getVendorConfig);
14150
- const authStrategies = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getVendorPublicAuthStrategiesConfig);
14151
14177
  const [withLoginPerTenant] = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_helpers__WEBPACK_IMPORTED_MODULE_5__.getFeatureFlags, ['admin_portal_login_per_tenant']);
14152
14178
  if (withLoginPerTenant) {
14153
- const authStrategies = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getVendorPublicAuthStrategiesConfig);
14179
+ const authStrategies = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_SecurityPolicyState_saga__WEBPACK_IMPORTED_MODULE_6__.getAuthStrategy);
14154
14180
  if (authStrategies.mainAuthStrategies.length > 0) {
14155
14181
  policy.authStrategy = authStrategies.mainAuthStrategies[0].strategy;
14156
14182
  }
@@ -14172,7 +14198,7 @@ function* loadAllowSignUps() {
14172
14198
  } catch (e) {
14173
14199
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSignUpState({
14174
14200
  loading: false,
14175
- error: (0,_utils__WEBPACK_IMPORTED_MODULE_6__.errorHandler)(e),
14201
+ error: (0,_utils__WEBPACK_IMPORTED_MODULE_7__.errorHandler)(e),
14176
14202
  firstLoad: false
14177
14203
  }));
14178
14204
  }
@@ -14213,14 +14239,14 @@ function* signUpUser(_ref) {
14213
14239
  name,
14214
14240
  companyName,
14215
14241
  url,
14216
- authenticationType: _interfaces__WEBPACK_IMPORTED_MODULE_7__.AuthenticationTypes.PASSWORD,
14242
+ authenticationType: _interfaces__WEBPACK_IMPORTED_MODULE_8__.AuthenticationTypes.PASSWORD,
14217
14243
  id: userId,
14218
14244
  tenantId,
14219
14245
  createdAt: new Date()
14220
14246
  });
14221
14247
  }
14222
- if (!shouldActivate && user && (0,_LoginState_utils__WEBPACK_IMPORTED_MODULE_8__.isMfaRequired)(user)) {
14223
- const mfaRequiredState = yield (0,_LoginState_saga__WEBPACK_IMPORTED_MODULE_9__.getMfaRequiredState)(user);
14248
+ if (!shouldActivate && user && (0,_LoginState_utils__WEBPACK_IMPORTED_MODULE_9__.isMfaRequired)(user)) {
14249
+ const mfaRequiredState = yield (0,_LoginState_saga__WEBPACK_IMPORTED_MODULE_10__.getMfaRequiredState)(user);
14224
14250
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setState(mfaRequiredState));
14225
14251
  onRedirectTo(routes.loginUrl);
14226
14252
  } else {
@@ -14230,7 +14256,7 @@ function* signUpUser(_ref) {
14230
14256
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSignUpState({
14231
14257
  loading: false,
14232
14258
  shouldActivate,
14233
- stage: _interfaces__WEBPACK_IMPORTED_MODULE_10__.SignUpStage.SignUpSuccess
14259
+ stage: _interfaces__WEBPACK_IMPORTED_MODULE_11__.SignUpStage.SignUpSuccess
14234
14260
  }));
14235
14261
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setState({
14236
14262
  user,
@@ -14242,11 +14268,11 @@ function* signUpUser(_ref) {
14242
14268
  }));
14243
14269
  }
14244
14270
  } catch (e) {
14245
- _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_11__.ContextHolder.setAccessToken(null);
14246
- _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_11__.ContextHolder.setUser(null);
14271
+ _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_12__.ContextHolder.setAccessToken(null);
14272
+ _frontegg_rest_api__WEBPACK_IMPORTED_MODULE_12__.ContextHolder.setUser(null);
14247
14273
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSignUpState({
14248
14274
  loading: false,
14249
- error: (0,_utils__WEBPACK_IMPORTED_MODULE_6__.errorHandler)(e)
14275
+ error: (0,_utils__WEBPACK_IMPORTED_MODULE_7__.errorHandler)(e)
14250
14276
  }));
14251
14277
  }
14252
14278
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSignUpState({
@@ -14336,6 +14362,7 @@ const Matcher = {};
14336
14362
  "use strict";
14337
14363
  __webpack_require__.r(__webpack_exports__);
14338
14364
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14365
+ /* harmony export */ "getSocialLoginsConfigurationsV2": () => (/* binding */ getSocialLoginsConfigurationsV2),
14339
14366
  /* harmony export */ "loadSocialLoginsConfigurations": () => (/* binding */ loadSocialLoginsConfigurations),
14340
14367
  /* harmony export */ "loadSocialLoginsConfigurationsV2": () => (/* binding */ loadSocialLoginsConfigurationsV2),
14341
14368
  /* harmony export */ "socialLoginsSaga": () => (/* binding */ socialLoginsSaga)
@@ -14379,13 +14406,25 @@ function* loadSocialLoginsConfigurations() {
14379
14406
  }));
14380
14407
  }
14381
14408
  }
14409
+ function* getSocialLoginsConfigurationsV2() {
14410
+ const isAuthenticated = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.select)(({
14411
+ auth
14412
+ }) => auth.isAuthenticated);
14413
+ let socialLoginsConfigV2;
14414
+ if (isAuthenticated) {
14415
+ socialLoginsConfigV2 = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getSocialLoginProvidersV2ForAuthenticatedUser);
14416
+ } else {
14417
+ socialLoginsConfigV2 = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getSocialLoginProvidersV2);
14418
+ }
14419
+ return socialLoginsConfigV2;
14420
+ }
14382
14421
  function* loadSocialLoginsConfigurationsV2() {
14383
14422
  try {
14384
14423
  const context = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.select)(state => state.root.context);
14385
14424
  yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.put)(_reducer__WEBPACK_IMPORTED_MODULE_3__.actions.setSocialLoginsState({
14386
14425
  loading: true
14387
14426
  }));
14388
- const socialLoginsConfigV2 = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getSocialLoginProvidersV2);
14427
+ const socialLoginsConfigV2 = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(getSocialLoginsConfigurationsV2);
14389
14428
  const {
14390
14429
  providers: customSocialLoginsConfig
14391
14430
  } = yield (0,redux_saga_effects__WEBPACK_IMPORTED_MODULE_2__.call)(_frontegg_rest_api__WEBPACK_IMPORTED_MODULE_4__.api.auth.getCustomSocialLoginProvidersV1);
@@ -16787,7 +16826,6 @@ __webpack_require__.r(__webpack_exports__);
16787
16826
  /* harmony export */ "isAuthRoute": () => (/* reexport safe */ _Helpers__WEBPACK_IMPORTED_MODULE_42__.isAuthRoute),
16788
16827
  /* harmony export */ "isEntitlementsChanged": () => (/* reexport safe */ _Entitlements__WEBPACK_IMPORTED_MODULE_36__.isEntitlementsChanged),
16789
16828
  /* harmony export */ "loadEntitlements": () => (/* reexport safe */ _Entitlements__WEBPACK_IMPORTED_MODULE_36__.loadEntitlements),
16790
- /* harmony export */ "loadEntitlementsOnDemand": () => (/* reexport safe */ _Entitlements__WEBPACK_IMPORTED_MODULE_36__.loadEntitlementsOnDemand),
16791
16829
  /* harmony export */ "loginActions": () => (/* reexport safe */ _LoginState__WEBPACK_IMPORTED_MODULE_2__.loginActions),
16792
16830
  /* harmony export */ "loginReducers": () => (/* reexport safe */ _LoginState__WEBPACK_IMPORTED_MODULE_2__.loginReducers),
16793
16831
  /* harmony export */ "loginState": () => (/* reexport safe */ _LoginState__WEBPACK_IMPORTED_MODULE_2__.loginState),
@@ -20501,6 +20539,27 @@ const createFronteggStore = (rootInitialState, storeHolder, previewMode = false,
20501
20539
  } else {
20502
20540
  holder.store.destroy = sagaMiddleware.run(rootSaga).cancel;
20503
20541
  }
20542
+
20543
+ /**
20544
+ * Using redux store subscribe causes unpredictable callback calls: https://redux.js.org/api/store#subscribelistener
20545
+ *
20546
+ * This function aim to prevent unnecessary update by calling the callback with the updated frontegg state only on state reference change.
20547
+ * This function protect from redux unnecessary updates by reference comparison
20548
+ * Developed for vanilla js SDK
20549
+ *
20550
+ * @param callback called with the updated frontegg state for every store refresh
20551
+ * @returns redux unsubscribe function
20552
+ */
20553
+ holder.store.subscribeStateChanged = callback => {
20554
+ let lastStoreState = holder.store.getState();
20555
+ return holder.store.subscribe(() => {
20556
+ const updatedState = holder.store.getState();
20557
+ if (lastStoreState != updatedState) {
20558
+ lastStoreState = updatedState;
20559
+ callback(updatedState);
20560
+ }
20561
+ });
20562
+ };
20504
20563
  }
20505
20564
  return holder.store;
20506
20565
  };
@@ -21851,7 +21910,7 @@ __webpack_require__.r(__webpack_exports__);
21851
21910
  /* harmony export */ });
21852
21911
  /* harmony import */ var _ThemeOptions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ThemeOptions */ "../../dist/@frontegg/types/ThemeOptions/index.js");
21853
21912
  /* harmony import */ var _Metadata__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Metadata */ "../../dist/@frontegg/types/Metadata/index.js");
21854
- /** @license Frontegg v6.124.0
21913
+ /** @license Frontegg v6.125.0-alpha.1
21855
21914
  *
21856
21915
  * This source code is licensed under the MIT license found in the
21857
21916
  * LICENSE file in the root directory of this source tree.