@nibssplc/cams-sdk-react 1.0.0-rc.80 → 1.0.0-rc.82

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/dist/index.esm.js CHANGED
@@ -499,8 +499,6 @@ function useCAMSMSALAuth(options) {
499
499
  mfaConfig: mfaConfig,
500
500
  userConfig: userConfig,
501
501
  });
502
- setAccessToken(response.accessToken);
503
- setIdToken(response.idToken);
504
502
  Logger.info("MSAL User Auth is Completed");
505
503
  // Don't persist as authenticated until MFA is complete
506
504
  if (userConfig.isValid && userConfig.userInfo.email) {
@@ -508,6 +506,8 @@ function useCAMSMSALAuth(options) {
508
506
  storageKey: storageKey,
509
507
  email: userConfig.userInfo.email,
510
508
  });
509
+ setAccessToken(response.accessToken);
510
+ setIdToken(response.idToken);
511
511
  localStorage.setItem(storageKey, JSON.stringify({
512
512
  isAuthenticated: false,
513
513
  requiresMFA: userConfig.userInfo.isMFAEnabled,
@@ -1795,14 +1795,13 @@ var MFAEndpointsSchema = z$1.object({
1795
1795
  AuthChallengeVerify: z$1.url("MFA AuthChallengeVerify must be a valid URL"),
1796
1796
  });
1797
1797
  var MFAGate = function (_a) {
1798
- var _b, _c, _d;
1799
- var children = _a.children, _e = _a.fallback, fallback = _e === void 0 ? (jsx("div", { className: "h-screen flex items-center justify-center", children: jsx(LoadingSpinner, {}) })) : _e,
1798
+ var children = _a.children, _b = _a.fallback, fallback = _b === void 0 ? (jsx("div", { className: "h-screen flex items-center justify-center", children: jsx(LoadingSpinner, {}) })) : _b,
1800
1799
  // loginComponent: LoginComponent = DefaultLoginPage,
1801
- _f = _a.usePassKey,
1800
+ _c = _a.usePassKey,
1802
1801
  // loginComponent: LoginComponent = DefaultLoginPage,
1803
- usePassKey = _f === void 0 ? false : _f, _g = _a.useADLogin, useADLogin = _g === void 0 ? false : _g, CredentialsAuthEndpoint = _a.CredentialsAuthEndpoint, PassKeysRegisterProps = _a.PassKeysRegisterProps, MFAEndpoints = _a.MFAEndpoints, requiresMFA = _a.requiresMFA, onAuthSuccess = _a.onAuthSuccess, onAuthError = _a.onAuthError;
1802
+ usePassKey = _c === void 0 ? false : _c, _d = _a.useADLogin, useADLogin = _d === void 0 ? false : _d, CredentialsAuthEndpoint = _a.CredentialsAuthEndpoint, PassKeysRegisterProps = _a.PassKeysRegisterProps, MFAEndpoints = _a.MFAEndpoints, requiresMFA = _a.requiresMFA, onAuthSuccess = _a.onAuthSuccess, onAuthError = _a.onAuthError;
1804
1803
  var context = useCAMSContext();
1805
- var _h = useState("Loading"), authState = _h[0], setAuthState = _h[1];
1804
+ var _e = useState("Loading"), authState = _e[0], setAuthState = _e[1];
1806
1805
  var validatedMFAEndpoints = useMemo(function () {
1807
1806
  var parsed = MFAEndpointsSchema.safeParse(MFAEndpoints);
1808
1807
  if (!parsed.success) {
@@ -1811,6 +1810,9 @@ var MFAGate = function (_a) {
1811
1810
  }
1812
1811
  return parsed.data;
1813
1812
  }, [MFAEndpoints]);
1813
+ // Extract the specific values we need from context for dependencies
1814
+ var contextRequiresMFA = "requiresMFA" in context ? context.requiresMFA : false;
1815
+ var contextAccessToken = "accessToken" in context ? context.accessToken : "";
1814
1816
  var handleComplete = useCallback(function (success) {
1815
1817
  var _a;
1816
1818
  if (success && context.authMode === "MSAL") {
@@ -1846,12 +1848,14 @@ var MFAGate = function (_a) {
1846
1848
  }
1847
1849
  });
1848
1850
  }); }, [context, onAuthError]);
1849
- Logger.debug("User context:", {
1850
- user: context.user,
1851
- profile: (_b = context.user) === null || _b === void 0 ? void 0 : _b.profile,
1852
- email: (_d = (_c = context.user) === null || _c === void 0 ? void 0 : _c.profile) === null || _d === void 0 ? void 0 : _d.email,
1853
- });
1854
1851
  useEffect(function () {
1852
+ console.log("Auth evaluation triggered:", {
1853
+ isLoading: context.isLoading,
1854
+ isAuthenticated: context.isAuthenticated,
1855
+ contextRequiresMFA: contextRequiresMFA,
1856
+ contextAccessToken: !!contextAccessToken,
1857
+ requiresMFA: requiresMFA,
1858
+ });
1855
1859
  if (context.isLoading) {
1856
1860
  setAuthState("Loading");
1857
1861
  return;
@@ -1860,26 +1864,44 @@ var MFAGate = function (_a) {
1860
1864
  setAuthState("Unauthenticated");
1861
1865
  return;
1862
1866
  }
1863
- // Small delay to ensure all context updates are processed
1864
- var timer = setTimeout(function () {
1865
- var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : ("requiresMFA" in context ? context.requiresMFA : false);
1866
- var accessToken = "accessToken" in context ? context.accessToken : "";
1867
- console.log(shouldRequireMFA, "Auth State", authState, context);
1868
- if (shouldRequireMFA && accessToken) {
1869
- setAuthState("MFA_Required");
1870
- }
1871
- else {
1872
- setAuthState("Authenticated");
1873
- }
1874
- }, 50);
1875
- return function () { return clearTimeout(timer); };
1867
+ // If authenticated, determine if MFA is required
1868
+ var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : contextRequiresMFA;
1869
+ console.log("MFA decision:", {
1870
+ shouldRequireMFA: shouldRequireMFA,
1871
+ hasAccessToken: !!contextAccessToken,
1872
+ finalState: shouldRequireMFA && contextAccessToken
1873
+ ? "MFA_Required"
1874
+ : "Authenticated",
1875
+ });
1876
+ if (shouldRequireMFA && contextAccessToken) {
1877
+ setAuthState("MFA_Required");
1878
+ }
1879
+ else {
1880
+ setAuthState("Authenticated");
1881
+ }
1876
1882
  }, [
1877
- context.accessToken,
1878
1883
  context.isLoading,
1879
1884
  context.isAuthenticated,
1880
- context.requiresMFA,
1885
+ contextRequiresMFA, // Now this will trigger re-evaluation when requiresMFA changes
1886
+ contextAccessToken, // And this when accessToken changes
1881
1887
  requiresMFA,
1882
- context,
1888
+ ]);
1889
+ // Debug useEffect
1890
+ useEffect(function () {
1891
+ console.log("Current authState:", authState);
1892
+ console.log("Context state:", {
1893
+ isLoading: context.isLoading,
1894
+ isAuthenticated: context.isAuthenticated,
1895
+ authMode: context.authMode,
1896
+ requiresMFA: contextRequiresMFA,
1897
+ hasAccessToken: !!contextAccessToken,
1898
+ });
1899
+ }, [
1900
+ authState,
1901
+ context.isLoading,
1902
+ context.isAuthenticated,
1903
+ contextRequiresMFA,
1904
+ contextAccessToken,
1883
1905
  ]);
1884
1906
  if (useADLogin && !CredentialsAuthEndpoint)
1885
1907
  return jsx(ErrorFallback, { message: "Invalid AD Login Configuration." });