@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.cjs.js CHANGED
@@ -1816,14 +1816,13 @@ var MFAEndpointsSchema = z.object({
1816
1816
  AuthChallengeVerify: z.url("MFA AuthChallengeVerify must be a valid URL"),
1817
1817
  });
1818
1818
  var MFAGate = function (_a) {
1819
- var _b, _c, _d;
1820
- var children = _a.children, _e = _a.fallback, fallback = _e === void 0 ? (jsxRuntime.jsx("div", { className: "h-screen flex items-center justify-center", children: jsxRuntime.jsx(LoadingSpinner, {}) })) : _e,
1819
+ var children = _a.children, _b = _a.fallback, fallback = _b === void 0 ? (jsxRuntime.jsx("div", { className: "h-screen flex items-center justify-center", children: jsxRuntime.jsx(LoadingSpinner, {}) })) : _b,
1821
1820
  // loginComponent: LoginComponent = DefaultLoginPage,
1822
- _f = _a.usePassKey,
1821
+ _c = _a.usePassKey,
1823
1822
  // loginComponent: LoginComponent = DefaultLoginPage,
1824
- 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;
1823
+ 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;
1825
1824
  var context = useCAMSContext();
1826
- var _h = React.useState("Loading"), authState = _h[0], setAuthState = _h[1];
1825
+ var _e = React.useState("Loading"), authState = _e[0], setAuthState = _e[1];
1827
1826
  var validatedMFAEndpoints = React.useMemo(function () {
1828
1827
  var parsed = MFAEndpointsSchema.safeParse(MFAEndpoints);
1829
1828
  if (!parsed.success) {
@@ -1832,6 +1831,9 @@ var MFAGate = function (_a) {
1832
1831
  }
1833
1832
  return parsed.data;
1834
1833
  }, [MFAEndpoints]);
1834
+ // Extract the specific values we need from context for dependencies
1835
+ var contextRequiresMFA = "requiresMFA" in context ? context.requiresMFA : false;
1836
+ var contextAccessToken = "accessToken" in context ? context.accessToken : "";
1835
1837
  var handleComplete = React.useCallback(function (success) {
1836
1838
  var _a;
1837
1839
  if (success && context.authMode === "MSAL") {
@@ -1867,12 +1869,14 @@ var MFAGate = function (_a) {
1867
1869
  }
1868
1870
  });
1869
1871
  }); }, [context, onAuthError]);
1870
- camsSdk.Logger.debug("User context:", {
1871
- user: context.user,
1872
- profile: (_b = context.user) === null || _b === void 0 ? void 0 : _b.profile,
1873
- email: (_d = (_c = context.user) === null || _c === void 0 ? void 0 : _c.profile) === null || _d === void 0 ? void 0 : _d.email,
1874
- });
1875
1872
  React.useEffect(function () {
1873
+ console.log("Auth evaluation triggered:", {
1874
+ isLoading: context.isLoading,
1875
+ isAuthenticated: context.isAuthenticated,
1876
+ contextRequiresMFA: contextRequiresMFA,
1877
+ contextAccessToken: !!contextAccessToken,
1878
+ requiresMFA: requiresMFA,
1879
+ });
1876
1880
  if (context.isLoading) {
1877
1881
  setAuthState("Loading");
1878
1882
  return;
@@ -1881,44 +1885,45 @@ var MFAGate = function (_a) {
1881
1885
  setAuthState("Unauthenticated");
1882
1886
  return;
1883
1887
  }
1884
- // Small delay to ensure all context updates are processed
1885
- var timer = setTimeout(function () {
1886
- var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : ("requiresMFA" in context ? context.requiresMFA : false);
1887
- var accessToken = "accessToken" in context ? context.accessToken : "";
1888
- console.log("Auth State Debug:", {
1889
- isAuthenticated: context.isAuthenticated,
1890
- shouldRequireMFA: shouldRequireMFA,
1891
- accessToken: !!accessToken,
1892
- requiresMFA: requiresMFA,
1893
- contextRequiresMFA: "requiresMFA" in context ? context.requiresMFA : "N/A"
1894
- });
1895
- if (shouldRequireMFA && accessToken) {
1896
- setAuthState("MFA_Required");
1897
- }
1898
- else {
1899
- setAuthState("Authenticated");
1900
- }
1901
- }, 50);
1902
- return function () { return clearTimeout(timer); };
1888
+ // If authenticated, determine if MFA is required
1889
+ var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : contextRequiresMFA;
1890
+ console.log("MFA decision:", {
1891
+ shouldRequireMFA: shouldRequireMFA,
1892
+ hasAccessToken: !!contextAccessToken,
1893
+ finalState: shouldRequireMFA && contextAccessToken
1894
+ ? "MFA_Required"
1895
+ : "Authenticated",
1896
+ });
1897
+ if (shouldRequireMFA && contextAccessToken) {
1898
+ setAuthState("MFA_Required");
1899
+ }
1900
+ else {
1901
+ setAuthState("Authenticated");
1902
+ }
1903
1903
  }, [
1904
- context.accessToken,
1905
1904
  context.isLoading,
1906
1905
  context.isAuthenticated,
1907
- context.requiresMFA,
1906
+ contextRequiresMFA, // Now this will trigger re-evaluation when requiresMFA changes
1907
+ contextAccessToken, // And this when accessToken changes
1908
1908
  requiresMFA,
1909
- context,
1910
1909
  ]);
1911
- // Add this debug useEffect to see what's happening
1910
+ // Debug useEffect
1912
1911
  React.useEffect(function () {
1913
1912
  console.log("Current authState:", authState);
1914
1913
  console.log("Context state:", {
1915
1914
  isLoading: context.isLoading,
1916
1915
  isAuthenticated: context.isAuthenticated,
1917
1916
  authMode: context.authMode,
1918
- requiresMFA: "requiresMFA" in context ? context.requiresMFA : "N/A",
1919
- hasAccessToken: "accessToken" in context ? !!context.accessToken : false
1917
+ requiresMFA: contextRequiresMFA,
1918
+ hasAccessToken: !!contextAccessToken,
1920
1919
  });
1921
- }, [authState, context]);
1920
+ }, [
1921
+ authState,
1922
+ context.isLoading,
1923
+ context.isAuthenticated,
1924
+ contextRequiresMFA,
1925
+ contextAccessToken,
1926
+ ]);
1922
1927
  if (useADLogin && !CredentialsAuthEndpoint)
1923
1928
  return jsxRuntime.jsx(ErrorFallback, { message: "Invalid AD Login Configuration." });
1924
1929
  if (!validatedMFAEndpoints)