@frontegg/redux-store 4.41.0 → 4.43.0

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.
@@ -19,7 +19,7 @@ export declare function loadSSOPublicConfigurationFunction(): Generator<import("
19
19
  isActive: any;
20
20
  }>;
21
21
  export declare const isMfaRequired: (user: ILoginResponse) => boolean;
22
- export declare function getMfaRequiredState(user: any): Generator<CallEffect<IAllowedToRememberMfaDevice>, {
22
+ export declare function getMfaRequiredState(user: any): Generator<import("redux-saga/effects").SelectEffect | CallEffect<IAllowedToRememberMfaDevice>, {
23
23
  loginState: {
24
24
  mfaToken: any;
25
25
  mfaRequired: any;
@@ -30,10 +30,15 @@ export declare function getMfaRequiredState(user: any): Generator<CallEffect<IAl
30
30
  tenants: never[];
31
31
  allowRememberMfaDevice: any;
32
32
  mfaDeviceExpiration: any;
33
+ ssoRedirectUrl?: string | undefined;
34
+ email?: string | undefined;
35
+ inviteTokenTenantName?: string | undefined;
36
+ inviteTokenError?: string | undefined;
37
+ isNewUser?: boolean | undefined;
33
38
  };
34
39
  user: undefined;
35
40
  isAuthenticated: boolean;
36
- }, {
41
+ }, AuthState & {
37
42
  isAllowedToRemember: any;
38
43
  mfaDeviceExpiration: any;
39
44
  }>;
@@ -43,7 +48,7 @@ export declare function refreshToken(): Generator<import("redux-saga/effects").S
43
48
  }> | import("redux-saga/effects").PutEffect<{
44
49
  payload: Partial<AuthState>;
45
50
  type: string;
46
- }> | Generator<CallEffect<IAllowedToRememberMfaDevice>, {
51
+ }> | Generator<import("redux-saga/effects").SelectEffect | CallEffect<IAllowedToRememberMfaDevice>, {
47
52
  loginState: {
48
53
  mfaToken: any;
49
54
  mfaRequired: any;
@@ -54,10 +59,15 @@ export declare function refreshToken(): Generator<import("redux-saga/effects").S
54
59
  tenants: never[];
55
60
  allowRememberMfaDevice: any;
56
61
  mfaDeviceExpiration: any;
62
+ ssoRedirectUrl?: string | undefined;
63
+ email?: string | undefined;
64
+ inviteTokenTenantName?: string | undefined;
65
+ inviteTokenError?: string | undefined;
66
+ isNewUser?: boolean | undefined;
57
67
  };
58
68
  user: undefined;
59
69
  isAuthenticated: boolean;
60
- }, {
70
+ }, AuthState & {
61
71
  isAllowedToRemember: any;
62
72
  mfaDeviceExpiration: any;
63
73
  }> | CallEffect<ILoginResponse> | import("redux-saga/effects").PutEffect<{
package/auth/index.js CHANGED
@@ -1049,6 +1049,7 @@ const isMfaRequired = (user) => {
1049
1049
  function* getMfaRequiredState(user) {
1050
1050
  let setMfaState = {};
1051
1051
  let step = LoginStep.loginWithTwoFactor;
1052
+ const { loginState } = yield select((state) => state.auth);
1052
1053
  const { isAllowedToRemember, mfaDeviceExpiration } = yield call(api.auth.checkIfAllowToRememberMfaDevice, user.mfaToken);
1053
1054
  if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {
1054
1055
  setMfaState = {
@@ -1062,17 +1063,7 @@ function* getMfaRequiredState(user) {
1062
1063
  };
1063
1064
  step = LoginStep.forceTwoFactor;
1064
1065
  }
1065
- return Object.assign(Object.assign({ user: undefined, isAuthenticated: false }, setMfaState), { loginState: {
1066
- mfaToken: user.mfaToken,
1067
- mfaRequired: user.mfaRequired,
1068
- loading: false,
1069
- error: undefined,
1070
- step,
1071
- tenantsLoading: true,
1072
- tenants: [],
1073
- allowRememberMfaDevice: isAllowedToRemember,
1074
- mfaDeviceExpiration,
1075
- } });
1066
+ return Object.assign(Object.assign({ user: undefined, isAuthenticated: false }, setMfaState), { loginState: Object.assign(Object.assign({}, loginState), { mfaToken: user.mfaToken, mfaRequired: user.mfaRequired, loading: false, error: undefined, step, tenantsLoading: true, tenants: [], allowRememberMfaDevice: isAllowedToRemember, mfaDeviceExpiration }) });
1076
1067
  }
1077
1068
  function* refreshToken() {
1078
1069
  try {
@@ -1087,7 +1078,7 @@ function* refreshToken() {
1087
1078
  else {
1088
1079
  yield put(actions.loadTenants());
1089
1080
  yield put(actions.setState({ user, isAuthenticated: true }));
1090
- if ([routes.loginUrl, routes.socialLoginCallbackUrl, routes.signUpUrl, routes.oidcRedirectUrl].includes(window.location.pathname) ||
1081
+ if ([routes.loginUrl, routes.socialLoginCallbackUrl, routes.signUpUrl, routes.oidcRedirectUrl].some(url => url && window.location.pathname.endsWith(url)) ||
1091
1082
  (window.location.pathname.endsWith(routes.activateUrl) && user.verified)) {
1092
1083
  if (loginState.isNewUser && routes.signUpSuccessUrl && routes.socialLoginCallbackUrl === window.location.pathname) {
1093
1084
  onRedirectTo(routes.signUpSuccessUrl, { refresh: routes.signUpSuccessUrl.startsWith('http') });
@@ -1051,6 +1051,7 @@ const isMfaRequired = (user) => {
1051
1051
  function* getMfaRequiredState(user) {
1052
1052
  let setMfaState = {};
1053
1053
  let step = exports.LoginStep.loginWithTwoFactor;
1054
+ const { loginState } = yield effects.select((state) => state.auth);
1054
1055
  const { isAllowedToRemember, mfaDeviceExpiration } = yield effects.call(restApi.api.auth.checkIfAllowToRememberMfaDevice, user.mfaToken);
1055
1056
  if (user.hasOwnProperty('mfaEnrolled') && !user.mfaEnrolled) {
1056
1057
  setMfaState = {
@@ -1064,17 +1065,7 @@ function* getMfaRequiredState(user) {
1064
1065
  };
1065
1066
  step = exports.LoginStep.forceTwoFactor;
1066
1067
  }
1067
- return Object.assign(Object.assign({ user: undefined, isAuthenticated: false }, setMfaState), { loginState: {
1068
- mfaToken: user.mfaToken,
1069
- mfaRequired: user.mfaRequired,
1070
- loading: false,
1071
- error: undefined,
1072
- step,
1073
- tenantsLoading: true,
1074
- tenants: [],
1075
- allowRememberMfaDevice: isAllowedToRemember,
1076
- mfaDeviceExpiration,
1077
- } });
1068
+ return Object.assign(Object.assign({ user: undefined, isAuthenticated: false }, setMfaState), { loginState: Object.assign(Object.assign({}, loginState), { mfaToken: user.mfaToken, mfaRequired: user.mfaRequired, loading: false, error: undefined, step, tenantsLoading: true, tenants: [], allowRememberMfaDevice: isAllowedToRemember, mfaDeviceExpiration }) });
1078
1069
  }
1079
1070
  function* refreshToken() {
1080
1071
  try {
@@ -1089,7 +1080,7 @@ function* refreshToken() {
1089
1080
  else {
1090
1081
  yield effects.put(actions.loadTenants());
1091
1082
  yield effects.put(actions.setState({ user, isAuthenticated: true }));
1092
- if ([routes.loginUrl, routes.socialLoginCallbackUrl, routes.signUpUrl, routes.oidcRedirectUrl].includes(window.location.pathname) ||
1083
+ if ([routes.loginUrl, routes.socialLoginCallbackUrl, routes.signUpUrl, routes.oidcRedirectUrl].some(url => url && window.location.pathname.endsWith(url)) ||
1093
1084
  (window.location.pathname.endsWith(routes.activateUrl) && user.verified)) {
1094
1085
  if (loginState.isNewUser && routes.signUpSuccessUrl && routes.socialLoginCallbackUrl === window.location.pathname) {
1095
1086
  onRedirectTo(routes.signUpSuccessUrl, { refresh: routes.signUpSuccessUrl.startsWith('http') });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@frontegg/redux-store",
3
3
  "libName": "FronteggReduxStore",
4
- "version": "4.41.0",
4
+ "version": "4.43.0",
5
5
  "author": "Frontegg LTD",
6
6
  "main": "./node/index.js",
7
7
  "module": "./index.js",