@nibssplc/cams-sdk-react 1.0.0-rc.132 → 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 +47 -37
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +47 -37
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1777,45 +1777,44 @@ var MFAGate = function (_a) {
|
|
|
1777
1777
|
}
|
|
1778
1778
|
return parsed.data;
|
|
1779
1779
|
}, [MFAEndpoints]);
|
|
1780
|
-
// Extract
|
|
1780
|
+
// Extract primitives from context to avoid object reference churn in deps
|
|
1781
1781
|
var contextRequiresMFA = "requiresMFA" in context ? context.requiresMFA : false;
|
|
1782
1782
|
var contextAccessToken = "accessToken" in context ? context.accessToken : "";
|
|
1783
|
+
var contextIdToken = "idToken" in context ? context.idToken : "";
|
|
1784
|
+
var contextHasUser = !!context.user;
|
|
1785
|
+
var contextIsLoading = context.isLoading;
|
|
1786
|
+
// Use refs so callbacks never cause effect/useCallback to re-run
|
|
1787
|
+
var onAuthSuccessRef = React.useRef(onAuthSuccess);
|
|
1788
|
+
var contextOnAuthSuccessRef = React.useRef("onAuthSuccess" in context ? context.onAuthSuccess : undefined);
|
|
1789
|
+
React.useEffect(function () { onAuthSuccessRef.current = onAuthSuccess; }, [onAuthSuccess]);
|
|
1790
|
+
React.useEffect(function () { contextOnAuthSuccessRef.current = "onAuthSuccess" in context ? context.onAuthSuccess : undefined; });
|
|
1783
1791
|
var fireOnAuthSuccess = React.useCallback(function (tokens) { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
1784
|
-
var _a;
|
|
1785
|
-
return __generator$1(this, function (
|
|
1786
|
-
switch (
|
|
1792
|
+
var _a, _b;
|
|
1793
|
+
return __generator$1(this, function (_c) {
|
|
1794
|
+
switch (_c.label) {
|
|
1787
1795
|
case 0: return [4 /*yield*/, Promise.all([
|
|
1788
|
-
|
|
1789
|
-
|
|
1796
|
+
(_a = onAuthSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onAuthSuccessRef, tokens),
|
|
1797
|
+
(_b = contextOnAuthSuccessRef.current) === null || _b === void 0 ? void 0 : _b.call(contextOnAuthSuccessRef, tokens),
|
|
1790
1798
|
])];
|
|
1791
1799
|
case 1:
|
|
1792
|
-
|
|
1800
|
+
_c.sent();
|
|
1793
1801
|
return [2 /*return*/];
|
|
1794
1802
|
}
|
|
1795
1803
|
});
|
|
1796
|
-
}); }, [
|
|
1804
|
+
}); }, [] // stable — reads from refs
|
|
1805
|
+
);
|
|
1797
1806
|
var handleComplete = React.useCallback(function (success) { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
1798
|
-
var accessToken, idToken;
|
|
1799
1807
|
return __generator$1(this, function (_a) {
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
accessToken = "accessToken" in context ? context.accessToken : "";
|
|
1804
|
-
idToken = "idToken" in context ? context.idToken : "";
|
|
1805
|
-
camsSdk.Logger.info("MFA Authentication Successful");
|
|
1806
|
-
setAuthState("Completing");
|
|
1807
|
-
return [4 /*yield*/, fireOnAuthSuccess({ accessToken: accessToken, idToken: idToken })];
|
|
1808
|
-
case 1:
|
|
1809
|
-
_a.sent();
|
|
1810
|
-
setAuthState("Authenticated");
|
|
1811
|
-
return [3 /*break*/, 3];
|
|
1812
|
-
case 2:
|
|
1813
|
-
camsSdk.Logger.error("MFA Authentication Failed");
|
|
1814
|
-
_a.label = 3;
|
|
1815
|
-
case 3: return [2 /*return*/];
|
|
1808
|
+
if (success) {
|
|
1809
|
+
camsSdk.Logger.info("MFA Authentication Successful");
|
|
1810
|
+
setAuthState("Completing");
|
|
1816
1811
|
}
|
|
1812
|
+
else {
|
|
1813
|
+
camsSdk.Logger.error("MFA Authentication Failed");
|
|
1814
|
+
}
|
|
1815
|
+
return [2 /*return*/];
|
|
1817
1816
|
});
|
|
1818
|
-
}); }, [
|
|
1817
|
+
}); }, []);
|
|
1819
1818
|
var handleAuthFailed = React.useCallback(function () { return __awaiter$1(void 0, void 0, void 0, function () {
|
|
1820
1819
|
var _a;
|
|
1821
1820
|
return __generator$1(this, function (_b) {
|
|
@@ -1835,11 +1834,11 @@ var MFAGate = function (_a) {
|
|
|
1835
1834
|
});
|
|
1836
1835
|
}); }, [context, onAuthError]);
|
|
1837
1836
|
React.useEffect(function () {
|
|
1838
|
-
if (
|
|
1837
|
+
if (contextIsLoading) {
|
|
1839
1838
|
setAuthState("Loading");
|
|
1840
1839
|
return;
|
|
1841
1840
|
}
|
|
1842
|
-
if (
|
|
1841
|
+
if (contextHasUser) {
|
|
1843
1842
|
setAuthState("Authenticated");
|
|
1844
1843
|
return;
|
|
1845
1844
|
}
|
|
@@ -1850,21 +1849,32 @@ var MFAGate = function (_a) {
|
|
|
1850
1849
|
var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : contextRequiresMFA;
|
|
1851
1850
|
if (shouldRequireMFA) {
|
|
1852
1851
|
setAuthState("MFA_Required");
|
|
1852
|
+
return;
|
|
1853
1853
|
}
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
}
|
|
1854
|
+
// Only fire once — guard against re-running while already completing/authenticated
|
|
1855
|
+
setAuthState(function (prev) {
|
|
1856
|
+
if (prev === "Completing" || prev === "Authenticated")
|
|
1857
|
+
return prev;
|
|
1858
|
+
return "Completing";
|
|
1859
|
+
});
|
|
1860
1860
|
}, [
|
|
1861
|
-
|
|
1862
|
-
|
|
1861
|
+
contextIsLoading,
|
|
1862
|
+
contextHasUser,
|
|
1863
1863
|
contextRequiresMFA,
|
|
1864
1864
|
contextAccessToken,
|
|
1865
1865
|
requiresMFA,
|
|
1866
|
-
fireOnAuthSuccess,
|
|
1867
1866
|
]);
|
|
1867
|
+
// Separate effect: fire callback and advance to Authenticated only when Completing
|
|
1868
|
+
React.useEffect(function () {
|
|
1869
|
+
if (authState !== "Completing")
|
|
1870
|
+
return;
|
|
1871
|
+
var cancelled = false;
|
|
1872
|
+
fireOnAuthSuccess({ accessToken: contextAccessToken, idToken: contextIdToken }).then(function () {
|
|
1873
|
+
if (!cancelled)
|
|
1874
|
+
setAuthState("Authenticated");
|
|
1875
|
+
});
|
|
1876
|
+
return function () { cancelled = true; };
|
|
1877
|
+
}, [authState, contextAccessToken, contextIdToken, fireOnAuthSuccess]);
|
|
1868
1878
|
if (useADLogin && !CredentialsAuthEndpoint)
|
|
1869
1879
|
return jsxRuntime.jsx(ErrorFallback, { message: "Invalid AD Login Configuration." });
|
|
1870
1880
|
if (!ValidatedMFAEndpoints)
|