@nibssplc/cams-sdk-react 1.0.0-rc.81 → 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
@@ -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,44 +1864,45 @@ 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("Auth State Debug:", {
1868
- isAuthenticated: context.isAuthenticated,
1869
- shouldRequireMFA: shouldRequireMFA,
1870
- accessToken: !!accessToken,
1871
- requiresMFA: requiresMFA,
1872
- contextRequiresMFA: "requiresMFA" in context ? context.requiresMFA : "N/A"
1873
- });
1874
- if (shouldRequireMFA && accessToken) {
1875
- setAuthState("MFA_Required");
1876
- }
1877
- else {
1878
- setAuthState("Authenticated");
1879
- }
1880
- }, 50);
1881
- 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
+ }
1882
1882
  }, [
1883
- context.accessToken,
1884
1883
  context.isLoading,
1885
1884
  context.isAuthenticated,
1886
- context.requiresMFA,
1885
+ contextRequiresMFA, // Now this will trigger re-evaluation when requiresMFA changes
1886
+ contextAccessToken, // And this when accessToken changes
1887
1887
  requiresMFA,
1888
- context,
1889
1888
  ]);
1890
- // Add this debug useEffect to see what's happening
1889
+ // Debug useEffect
1891
1890
  useEffect(function () {
1892
1891
  console.log("Current authState:", authState);
1893
1892
  console.log("Context state:", {
1894
1893
  isLoading: context.isLoading,
1895
1894
  isAuthenticated: context.isAuthenticated,
1896
1895
  authMode: context.authMode,
1897
- requiresMFA: "requiresMFA" in context ? context.requiresMFA : "N/A",
1898
- hasAccessToken: "accessToken" in context ? !!context.accessToken : false
1896
+ requiresMFA: contextRequiresMFA,
1897
+ hasAccessToken: !!contextAccessToken,
1899
1898
  });
1900
- }, [authState, context]);
1899
+ }, [
1900
+ authState,
1901
+ context.isLoading,
1902
+ context.isAuthenticated,
1903
+ contextRequiresMFA,
1904
+ contextAccessToken,
1905
+ ]);
1901
1906
  if (useADLogin && !CredentialsAuthEndpoint)
1902
1907
  return jsx(ErrorFallback, { message: "Invalid AD Login Configuration." });
1903
1908
  if (!validatedMFAEndpoints)