@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.cjs.js CHANGED
@@ -2412,6 +2412,26 @@ var MFAGate = function (_a) {
2412
2412
  // loginComponent: LoginComponent = DefaultLoginPage,
2413
2413
  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;
2414
2414
  var context = useCAMSContext();
2415
+ var hasCalledOnAuthSuccess = React.useRef(false);
2416
+ React.useEffect(function () {
2417
+ var _a;
2418
+ if (context.authMode === "MSAL" && !hasCalledOnAuthSuccess.current) {
2419
+ var accessToken = "accessToken" in context ? context.accessToken : "";
2420
+ var idToken = "idToken" in context ? context.idToken : "";
2421
+ if (accessToken && idToken) {
2422
+ var tokens = { accessToken: accessToken, idToken: idToken };
2423
+ onAuthSuccess === null || onAuthSuccess === void 0 ? void 0 : onAuthSuccess(tokens);
2424
+ (_a = context.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(context, tokens);
2425
+ hasCalledOnAuthSuccess.current = true;
2426
+ }
2427
+ }
2428
+ }, [context, onAuthSuccess]);
2429
+ React.useEffect(function () {
2430
+ var accessToken = "accessToken" in context ? context.accessToken : "";
2431
+ if (!accessToken) {
2432
+ hasCalledOnAuthSuccess.current = false;
2433
+ }
2434
+ }, [context]);
2415
2435
  var validatedMFAEndpoints = React.useMemo(function () {
2416
2436
  var parsed = MFAEndpointsSchema.safeParse(MFAEndpoints);
2417
2437
  if (!parsed.success) {
@@ -2421,19 +2441,10 @@ var MFAGate = function (_a) {
2421
2441
  return parsed.data;
2422
2442
  }, [MFAEndpoints]);
2423
2443
  var handleComplete = React.useCallback(function (success) {
2424
- var _a;
2425
- if (success && context.authMode === "MSAL") {
2426
- var tokens = {
2427
- accessToken: context.accessToken,
2428
- idToken: context.idToken,
2429
- };
2430
- onAuthSuccess === null || onAuthSuccess === void 0 ? void 0 : onAuthSuccess(tokens);
2431
- (_a = context.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(context, tokens);
2432
- }
2433
- else if (!success) {
2444
+ if (!success) {
2434
2445
  camsSdk.Logger.error("MFA authentication failed");
2435
2446
  }
2436
- }, [context, onAuthSuccess]);
2447
+ }, []);
2437
2448
  var handleAuthFailed = React.useCallback(function () { return __awaiter$1(void 0, void 0, void 0, function () {
2438
2449
  var _a;
2439
2450
  return __generator$1(this, function (_b) {
@@ -2459,8 +2470,9 @@ var MFAGate = function (_a) {
2459
2470
  if (context.isLoading)
2460
2471
  return fallback;
2461
2472
  if (!context.isAuthenticated) {
2462
- var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : context.requiresMFA;
2463
- if (shouldRequireMFA && context.accessToken) {
2473
+ var shouldRequireMFA = requiresMFA !== null && requiresMFA !== void 0 ? requiresMFA : ("requiresMFA" in context ? context.requiresMFA : false);
2474
+ var accessToken = "accessToken" in context ? context.accessToken : "";
2475
+ if (shouldRequireMFA && accessToken) {
2464
2476
  return (jsxRuntimeExports.jsx(MFAOptions, { MFAEndpoints: validatedMFAEndpoints, usePassKey: usePassKey, onComplete: handleComplete, onAuthFailed: handleAuthFailed }));
2465
2477
  }
2466
2478
  return (jsxRuntimeExports.jsx(DefaultLoginPage, { usePassKey: usePassKey, useADLogin: useADLogin, MFAEndpoints: MFAEndpoints, PassKeysRegisterProps: PassKeysRegisterProps, CredentialsAuthEndpoint: CredentialsAuthEndpoint }));