@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.cjs.js +50 -28
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +50 -28
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -520,8 +520,6 @@ function useCAMSMSALAuth(options) {
|
|
|
520
520
|
mfaConfig: mfaConfig,
|
|
521
521
|
userConfig: userConfig,
|
|
522
522
|
});
|
|
523
|
-
setAccessToken(response.accessToken);
|
|
524
|
-
setIdToken(response.idToken);
|
|
525
523
|
camsSdk.Logger.info("MSAL User Auth is Completed");
|
|
526
524
|
// Don't persist as authenticated until MFA is complete
|
|
527
525
|
if (userConfig.isValid && userConfig.userInfo.email) {
|
|
@@ -529,6 +527,8 @@ function useCAMSMSALAuth(options) {
|
|
|
529
527
|
storageKey: storageKey,
|
|
530
528
|
email: userConfig.userInfo.email,
|
|
531
529
|
});
|
|
530
|
+
setAccessToken(response.accessToken);
|
|
531
|
+
setIdToken(response.idToken);
|
|
532
532
|
localStorage.setItem(storageKey, JSON.stringify({
|
|
533
533
|
isAuthenticated: false,
|
|
534
534
|
requiresMFA: userConfig.userInfo.isMFAEnabled,
|
|
@@ -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,
|
|
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
|
-
|
|
1821
|
+
_c = _a.usePassKey,
|
|
1823
1822
|
// loginComponent: LoginComponent = DefaultLoginPage,
|
|
1824
|
-
usePassKey =
|
|
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
|
|
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,26 +1885,44 @@ var MFAGate = function (_a) {
|
|
|
1881
1885
|
setAuthState("Unauthenticated");
|
|
1882
1886
|
return;
|
|
1883
1887
|
}
|
|
1884
|
-
//
|
|
1885
|
-
var
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
}
|
|
1896
|
-
|
|
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
|
+
}
|
|
1897
1903
|
}, [
|
|
1898
|
-
context.accessToken,
|
|
1899
1904
|
context.isLoading,
|
|
1900
1905
|
context.isAuthenticated,
|
|
1901
|
-
|
|
1906
|
+
contextRequiresMFA, // Now this will trigger re-evaluation when requiresMFA changes
|
|
1907
|
+
contextAccessToken, // And this when accessToken changes
|
|
1902
1908
|
requiresMFA,
|
|
1903
|
-
|
|
1909
|
+
]);
|
|
1910
|
+
// Debug useEffect
|
|
1911
|
+
React.useEffect(function () {
|
|
1912
|
+
console.log("Current authState:", authState);
|
|
1913
|
+
console.log("Context state:", {
|
|
1914
|
+
isLoading: context.isLoading,
|
|
1915
|
+
isAuthenticated: context.isAuthenticated,
|
|
1916
|
+
authMode: context.authMode,
|
|
1917
|
+
requiresMFA: contextRequiresMFA,
|
|
1918
|
+
hasAccessToken: !!contextAccessToken,
|
|
1919
|
+
});
|
|
1920
|
+
}, [
|
|
1921
|
+
authState,
|
|
1922
|
+
context.isLoading,
|
|
1923
|
+
context.isAuthenticated,
|
|
1924
|
+
contextRequiresMFA,
|
|
1925
|
+
contextAccessToken,
|
|
1904
1926
|
]);
|
|
1905
1927
|
if (useADLogin && !CredentialsAuthEndpoint)
|
|
1906
1928
|
return jsxRuntime.jsx(ErrorFallback, { message: "Invalid AD Login Configuration." });
|