@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 +46 -53
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +47 -54
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
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 (
|
|
336
|
-
switch (
|
|
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
|
-
|
|
339
|
+
_e.label = 1;
|
|
340
340
|
case 1:
|
|
341
|
-
|
|
342
|
-
|
|
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
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
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 =
|
|
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
|
-
((
|
|
393
|
-
camsError_1 = new camsSdk.CAMSError(camsSdk.CAMSErrorType.POPUP_BLOCKED, "
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
}
|