@nibssplc/cams-sdk-react 1.0.0-rc.131 → 1.0.0-rc.133
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 +62 -23
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +62 -23
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1756,27 +1756,44 @@ var MFAGate = function (_a) {
|
|
|
1756
1756
|
}
|
|
1757
1757
|
return parsed.data;
|
|
1758
1758
|
}, [MFAEndpoints]);
|
|
1759
|
-
// Extract
|
|
1759
|
+
// Extract primitives from context to avoid object reference churn in deps
|
|
1760
1760
|
var contextRequiresMFA = "requiresMFA" in context ? context.requiresMFA : false;
|
|
1761
1761
|
var contextAccessToken = "accessToken" in context ? context.accessToken : "";
|
|
1762
|
-
var
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1762
|
+
var contextIdToken = "idToken" in context ? context.idToken : "";
|
|
1763
|
+
var contextHasUser = !!context.user;
|
|
1764
|
+
var contextIsLoading = context.isLoading;
|
|
1765
|
+
// Use refs so callbacks never cause effect/useCallback to re-run
|
|
1766
|
+
var onAuthSuccessRef = useRef(onAuthSuccess);
|
|
1767
|
+
var contextOnAuthSuccessRef = useRef("onAuthSuccess" in context ? context.onAuthSuccess : undefined);
|
|
1768
|
+
useEffect(function () { onAuthSuccessRef.current = onAuthSuccess; }, [onAuthSuccess]);
|
|
1769
|
+
useEffect(function () { contextOnAuthSuccessRef.current = "onAuthSuccess" in context ? context.onAuthSuccess : undefined; });
|
|
1770
|
+
var fireOnAuthSuccess = useCallback(function (tokens) { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
1771
|
+
var _a, _b;
|
|
1772
|
+
return __generator$1(this, function (_c) {
|
|
1773
|
+
switch (_c.label) {
|
|
1774
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
1775
|
+
(_a = onAuthSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onAuthSuccessRef, tokens),
|
|
1776
|
+
(_b = contextOnAuthSuccessRef.current) === null || _b === void 0 ? void 0 : _b.call(contextOnAuthSuccessRef, tokens),
|
|
1777
|
+
])];
|
|
1778
|
+
case 1:
|
|
1779
|
+
_c.sent();
|
|
1780
|
+
return [2 /*return*/];
|
|
1774
1781
|
}
|
|
1775
|
-
}
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1782
|
+
});
|
|
1783
|
+
}); }, [] // stable — reads from refs
|
|
1784
|
+
);
|
|
1785
|
+
var handleComplete = useCallback(function (success) { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
1786
|
+
return __generator$1(this, function (_a) {
|
|
1787
|
+
if (success) {
|
|
1788
|
+
Logger.info("MFA Authentication Successful");
|
|
1789
|
+
setAuthState("Completing");
|
|
1790
|
+
}
|
|
1791
|
+
else {
|
|
1792
|
+
Logger.error("MFA Authentication Failed");
|
|
1793
|
+
}
|
|
1794
|
+
return [2 /*return*/];
|
|
1795
|
+
});
|
|
1796
|
+
}); }, []);
|
|
1780
1797
|
var handleAuthFailed = useCallback(function () { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
1781
1798
|
var _a;
|
|
1782
1799
|
return __generator$1(this, function (_b) {
|
|
@@ -1796,11 +1813,11 @@ var MFAGate = function (_a) {
|
|
|
1796
1813
|
});
|
|
1797
1814
|
}); }, [context, onAuthError]);
|
|
1798
1815
|
useEffect(function () {
|
|
1799
|
-
if (
|
|
1816
|
+
if (contextIsLoading) {
|
|
1800
1817
|
setAuthState("Loading");
|
|
1801
1818
|
return;
|
|
1802
1819
|
}
|
|
1803
|
-
if (
|
|
1820
|
+
if (contextHasUser) {
|
|
1804
1821
|
setAuthState("Authenticated");
|
|
1805
1822
|
return;
|
|
1806
1823
|
}
|
|
@@ -1809,14 +1826,34 @@ var MFAGate = function (_a) {
|
|
|
1809
1826
|
return;
|
|
1810
1827
|
}
|
|
1811
1828
|
var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : contextRequiresMFA;
|
|
1812
|
-
|
|
1829
|
+
if (shouldRequireMFA) {
|
|
1830
|
+
setAuthState("MFA_Required");
|
|
1831
|
+
return;
|
|
1832
|
+
}
|
|
1833
|
+
// Only fire once — guard against re-running while already completing/authenticated
|
|
1834
|
+
setAuthState(function (prev) {
|
|
1835
|
+
if (prev === "Completing" || prev === "Authenticated")
|
|
1836
|
+
return prev;
|
|
1837
|
+
return "Completing";
|
|
1838
|
+
});
|
|
1813
1839
|
}, [
|
|
1814
|
-
|
|
1815
|
-
|
|
1840
|
+
contextIsLoading,
|
|
1841
|
+
contextHasUser,
|
|
1816
1842
|
contextRequiresMFA,
|
|
1817
1843
|
contextAccessToken,
|
|
1818
1844
|
requiresMFA,
|
|
1819
1845
|
]);
|
|
1846
|
+
// Separate effect: fire callback and advance to Authenticated only when Completing
|
|
1847
|
+
useEffect(function () {
|
|
1848
|
+
if (authState !== "Completing")
|
|
1849
|
+
return;
|
|
1850
|
+
var cancelled = false;
|
|
1851
|
+
fireOnAuthSuccess({ accessToken: contextAccessToken, idToken: contextIdToken }).then(function () {
|
|
1852
|
+
if (!cancelled)
|
|
1853
|
+
setAuthState("Authenticated");
|
|
1854
|
+
});
|
|
1855
|
+
return function () { cancelled = true; };
|
|
1856
|
+
}, [authState, contextAccessToken, contextIdToken, fireOnAuthSuccess]);
|
|
1820
1857
|
if (useADLogin && !CredentialsAuthEndpoint)
|
|
1821
1858
|
return jsx(ErrorFallback, { message: "Invalid AD Login Configuration." });
|
|
1822
1859
|
if (!ValidatedMFAEndpoints)
|
|
@@ -1832,6 +1869,8 @@ var MFAGate = function (_a) {
|
|
|
1832
1869
|
return fallback;
|
|
1833
1870
|
case "MFA_Required":
|
|
1834
1871
|
return (jsx(MFAOptions, { MFAEndpoints: ValidatedMFAEndpoints, onComplete: handleComplete, onAuthFailed: handleAuthFailed }));
|
|
1872
|
+
case "Completing":
|
|
1873
|
+
return fallback;
|
|
1835
1874
|
case "Authenticated":
|
|
1836
1875
|
return jsx(Fragment, { children: children });
|
|
1837
1876
|
case "Unauthenticated":
|