@nibssplc/cams-sdk-react 0.0.1-beta.59 → 0.0.1-beta.60

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
@@ -330,74 +330,67 @@ function useCAMSMSALAuth(options) {
330
330
  // handleRedirect();
331
331
  // }, []);
332
332
  var login = React.useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
333
- var err_1, camsError_1, camsError;
334
- var _a, _b, _c;
335
- return __generator(this, function (_d) {
336
- switch (_d.label) {
333
+ var response, mfaConfig, authenticator, err_1, camsError_1, camsError;
334
+ var _a, _b, _c, _d;
335
+ return __generator(this, function (_e) {
336
+ switch (_e.label) {
337
337
  case 0:
338
338
  setError(null);
339
- _d.label = 1;
339
+ _e.label = 1;
340
340
  case 1:
341
- _d.trys.push([1, 3, , 4]);
342
- // await instance.loginR edirect({
343
- // scopes,
344
- // prompt: options.prompt || "login",
345
- // });
346
- return [4 /*yield*/, instance
347
- .loginPopup({
341
+ _e.trys.push([1, 3, , 4]);
342
+ return [4 /*yield*/, instance.loginPopup({
348
343
  scopes: scopes,
349
344
  prompt: options.prompt || "login",
350
- })
351
- .then(function (response) {
352
- var _a;
353
- camsSdk.Logger.debug("Login Token response:", {
354
- accessToken: response.accessToken,
355
- idToken: response.idToken,
356
- });
357
- setAccessToken(response.accessToken);
358
- setIdToken(response.idToken);
359
- // Initialize MFA authenticator
360
- var mfaConfig = {
361
- accessToken: response.accessToken,
362
- idToken: response.idToken,
363
- appCode: options.appCode,
364
- provider: "MSAL",
365
- apiEndpoint: options.mfaApiEndpoint,
366
- };
367
- var authenticator = new camsSdk.CAMSMFAAuthenticator(mfaConfig);
368
- setMfaAuthenticator(authenticator);
369
- setRequiresMFA(true);
370
- // Don't persist as authenticated until MFA is complete
371
- if (typeof window !== "undefined") {
372
- localStorage.setItem(options.storageKey, JSON.stringify({
373
- isAuthenticated: false,
374
- requiresMFA: true,
375
- accessToken: response.accessToken,
376
- idToken: response.idToken,
377
- }));
378
- }
379
- (_a = options.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(options, response.accessToken);
380
345
  })];
381
346
  case 2:
382
- // await instance.loginR edirect({
383
- // scopes,
384
- // prompt: options.prompt || "login",
385
- // });
386
- _d.sent();
347
+ response = _e.sent();
348
+ camsSdk.Logger.debug("Login Token response:", {
349
+ accessToken: response.accessToken,
350
+ idToken: response.idToken,
351
+ });
352
+ setAccessToken(response.accessToken);
353
+ setIdToken(response.idToken);
354
+ mfaConfig = {
355
+ accessToken: response.accessToken,
356
+ idToken: response.idToken,
357
+ appCode: options.appCode,
358
+ provider: "MSAL",
359
+ apiEndpoint: options.mfaApiEndpoint,
360
+ };
361
+ authenticator = new camsSdk.CAMSMFAAuthenticator(mfaConfig);
362
+ setMfaAuthenticator(authenticator);
363
+ setRequiresMFA(true);
364
+ // Don't persist as authenticated until MFA is complete
365
+ if (typeof window !== "undefined") {
366
+ localStorage.setItem(options.storageKey, JSON.stringify({
367
+ isAuthenticated: false,
368
+ requiresMFA: true,
369
+ accessToken: response.accessToken,
370
+ idToken: response.idToken,
371
+ }));
372
+ }
373
+ (_a = options.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(options, response.accessToken);
387
374
  return [3 /*break*/, 4];
388
375
  case 3:
389
- err_1 = _d.sent();
376
+ err_1 = _e.sent();
377
+ // Handle user cancellation gracefully
378
+ if (err_1.errorCode === "user_cancelled") {
379
+ camsSdk.Logger.info("User cancelled login");
380
+ setError(null); // Don't treat cancellation as an error
381
+ return [2 /*return*/];
382
+ }
390
383
  // If popup is blocked
391
384
  if (err_1.errorCode === "popup_window_error" ||
392
- ((_a = err_1.message) === null || _a === void 0 ? void 0 : _a.includes("popup"))) {
393
- camsError_1 = new camsSdk.CAMSError(camsSdk.CAMSErrorType.POPUP_BLOCKED, "Both popup and redirect failed: " + err_1);
385
+ ((_b = err_1.message) === null || _b === void 0 ? void 0 : _b.includes("popup"))) {
386
+ camsError_1 = new camsSdk.CAMSError(camsSdk.CAMSErrorType.POPUP_BLOCKED, "Popup blocked by browser. Please allow popups and try again.");
394
387
  setError(camsError_1);
395
- (_b = options.onAuthError) === null || _b === void 0 ? void 0 : _b.call(options, camsError_1);
388
+ (_c = options.onAuthError) === null || _c === void 0 ? void 0 : _c.call(options, camsError_1);
396
389
  return [2 /*return*/];
397
390
  }
398
- camsError = new camsSdk.CAMSError(camsSdk.CAMSErrorType.API_VALIDATION_ERROR, "Login failed: " + err_1);
391
+ camsError = new camsSdk.CAMSError(camsSdk.CAMSErrorType.API_VALIDATION_ERROR, "Login failed: " + err_1.message || err_1);
399
392
  setError(camsError);
400
- (_c = options.onAuthError) === null || _c === void 0 ? void 0 : _c.call(options, camsError);
393
+ (_d = options.onAuthError) === null || _d === void 0 ? void 0 : _d.call(options, camsError);
401
394
  return [3 /*break*/, 4];
402
395
  case 4: return [2 /*return*/];
403
396
  }