@nibssplc/cams-sdk-react 1.0.0-rc.50 → 1.0.0-rc.52

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
@@ -2391,6 +2391,26 @@ var MFAGate = function (_a) {
2391
2391
  // loginComponent: LoginComponent = DefaultLoginPage,
2392
2392
  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;
2393
2393
  var context = useCAMSContext();
2394
+ var hasCalledOnAuthSuccess = useRef(false);
2395
+ useEffect(function () {
2396
+ var _a;
2397
+ if (context.authMode === "MSAL" && !hasCalledOnAuthSuccess.current) {
2398
+ var accessToken = "accessToken" in context ? context.accessToken : "";
2399
+ var idToken = "idToken" in context ? context.idToken : "";
2400
+ if (accessToken && idToken) {
2401
+ var tokens = { accessToken: accessToken, idToken: idToken };
2402
+ onAuthSuccess === null || onAuthSuccess === void 0 ? void 0 : onAuthSuccess(tokens);
2403
+ (_a = context.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(context, tokens);
2404
+ hasCalledOnAuthSuccess.current = true;
2405
+ }
2406
+ }
2407
+ }, [context, onAuthSuccess]);
2408
+ useEffect(function () {
2409
+ var accessToken = "accessToken" in context ? context.accessToken : "";
2410
+ if (!accessToken) {
2411
+ hasCalledOnAuthSuccess.current = false;
2412
+ }
2413
+ }, [context]);
2394
2414
  var validatedMFAEndpoints = useMemo(function () {
2395
2415
  var parsed = MFAEndpointsSchema.safeParse(MFAEndpoints);
2396
2416
  if (!parsed.success) {
@@ -2400,19 +2420,10 @@ var MFAGate = function (_a) {
2400
2420
  return parsed.data;
2401
2421
  }, [MFAEndpoints]);
2402
2422
  var handleComplete = useCallback(function (success) {
2403
- var _a;
2404
- if (success && context.authMode === "MSAL") {
2405
- var tokens = {
2406
- accessToken: context.accessToken,
2407
- idToken: context.idToken,
2408
- };
2409
- onAuthSuccess === null || onAuthSuccess === void 0 ? void 0 : onAuthSuccess(tokens);
2410
- (_a = context.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(context, tokens);
2411
- }
2412
- else if (!success) {
2423
+ if (!success) {
2413
2424
  Logger.error("MFA authentication failed");
2414
2425
  }
2415
- }, [context, onAuthSuccess]);
2426
+ }, []);
2416
2427
  var handleAuthFailed = useCallback(function () { return __awaiter$1(void 0, void 0, void 0, function () {
2417
2428
  var _a;
2418
2429
  return __generator$1(this, function (_b) {
@@ -2438,8 +2449,9 @@ var MFAGate = function (_a) {
2438
2449
  if (context.isLoading)
2439
2450
  return fallback;
2440
2451
  if (!context.isAuthenticated) {
2441
- var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : context.requiresMFA;
2442
- if (shouldRequireMFA && context.accessToken) {
2452
+ var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : ("requiresMFA" in context ? context.requiresMFA : false);
2453
+ var accessToken = "accessToken" in context ? context.accessToken : "";
2454
+ if (shouldRequireMFA && accessToken) {
2443
2455
  return (jsxRuntimeExports.jsx(MFAOptions, { MFAEndpoints: validatedMFAEndpoints, usePassKey: usePassKey, onComplete: handleComplete, onAuthFailed: handleAuthFailed }));
2444
2456
  }
2445
2457
  return (jsxRuntimeExports.jsx(DefaultLoginPage, { usePassKey: usePassKey, useADLogin: useADLogin, MFAEndpoints: MFAEndpoints, PassKeysRegisterProps: PassKeysRegisterProps, CredentialsAuthEndpoint: CredentialsAuthEndpoint }));