@nibssplc/cams-sdk-react 1.0.0-rc.133 → 1.0.0-rc.134
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 +36 -5
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +36 -5
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -394,15 +394,42 @@ function useCAMSMSALAuth(options) {
|
|
|
394
394
|
var optStorageKey = options.storageKey, optScopes = options.scopes, prompt = options.prompt, appCode = options.appCode, ValidateUserEndpoint = options.ValidateUserEndpoint, _a = options.activeCookiePeriod, activeCookiePeriod = _a === void 0 ? 1 : _a, _b = options.DisableCAMSUserProfileValidation, DisableCAMSUserProfileValidation = _b === void 0 ? false : _b;
|
|
395
395
|
var storageKey = optStorageKey || "CAMS-MSAL-AUTH-SDK";
|
|
396
396
|
var _c = useMsal(), instance = _c.instance, inProgress = _c.inProgress, accounts = _c.accounts;
|
|
397
|
-
|
|
397
|
+
useAccount(accounts[0] || {});
|
|
398
|
+
var isTokenValid = function (token) {
|
|
399
|
+
try {
|
|
400
|
+
var payload = JSON.parse(atob(token.split(".")[1]));
|
|
401
|
+
return payload.exp * 1000 > Date.now();
|
|
402
|
+
}
|
|
403
|
+
catch (_a) {
|
|
404
|
+
return false;
|
|
405
|
+
}
|
|
406
|
+
};
|
|
407
|
+
var readFromStorage = function () {
|
|
408
|
+
var _a, _b, _c;
|
|
409
|
+
if (typeof window === "undefined")
|
|
410
|
+
return { accessToken: "", idToken: "", email: "" };
|
|
411
|
+
try {
|
|
412
|
+
var raw = localStorage.getItem(storageKey);
|
|
413
|
+
if (!raw)
|
|
414
|
+
return { accessToken: "", idToken: "", email: "" };
|
|
415
|
+
var parsed = JSON.parse(raw);
|
|
416
|
+
var token = (_a = parsed.accessToken) !== null && _a !== void 0 ? _a : "";
|
|
417
|
+
return isTokenValid(token)
|
|
418
|
+
? { accessToken: token, idToken: (_b = parsed.idToken) !== null && _b !== void 0 ? _b : "", email: (_c = parsed.email) !== null && _c !== void 0 ? _c : "" }
|
|
419
|
+
: { accessToken: "", idToken: "", email: "" };
|
|
420
|
+
}
|
|
421
|
+
catch (_d) {
|
|
422
|
+
return { accessToken: "", idToken: "", email: "" };
|
|
423
|
+
}
|
|
424
|
+
};
|
|
398
425
|
var _d = useState(null), error = _d[0], setError = _d[1];
|
|
399
|
-
var _e = useState(
|
|
400
|
-
var _f = useState(
|
|
401
|
-
var _g = useState(
|
|
426
|
+
var _e = useState(function () { return readFromStorage().idToken; }), idToken = _e[0], setIdToken = _e[1];
|
|
427
|
+
var _f = useState(function () { return readFromStorage().accessToken; }), accessToken = _f[0], setAccessToken = _f[1];
|
|
428
|
+
var _g = useState(function () { return readFromStorage().email; }), email = _g[0], setEmail = _g[1];
|
|
402
429
|
var _h = useState(false), requiresMFA = _h[0], setRequiresMFA = _h[1];
|
|
403
430
|
var _j = useState(false), isFetchingMFAConfig = _j[0], setIsFetchingMFAConfig = _j[1];
|
|
404
431
|
var isLoading = inProgress !== InteractionStatus.None || isFetchingMFAConfig;
|
|
405
|
-
var isAuthenticated = !!
|
|
432
|
+
var isAuthenticated = !!accessToken && !requiresMFA;
|
|
406
433
|
var scopes = optScopes || ["openid", "profile", "email"];
|
|
407
434
|
var login = useCallback(function () { return __awaiter$1(_this, void 0, void 0, function () {
|
|
408
435
|
var response, authenticator, email_1, userConfig, camsError, error_1, err_1, camsError_1, camsError;
|
|
@@ -431,6 +458,7 @@ function useCAMSMSALAuth(options) {
|
|
|
431
458
|
setIdToken(response.idToken);
|
|
432
459
|
setEmail(email_1);
|
|
433
460
|
setRequiresMFA(false);
|
|
461
|
+
localStorage.setItem(storageKey, JSON.stringify({ accessToken: response.accessToken, idToken: response.idToken, email: email_1, appCode: appCode }));
|
|
434
462
|
Logger.info("CAMS User Profile Validation Disabled. Skipping MFA config fetch.");
|
|
435
463
|
return [3 /*break*/, 7];
|
|
436
464
|
case 3:
|
|
@@ -457,6 +485,7 @@ function useCAMSMSALAuth(options) {
|
|
|
457
485
|
setIdToken(response.idToken);
|
|
458
486
|
setEmail(userConfig.userInfo.email);
|
|
459
487
|
setRequiresMFA(userConfig.userInfo.isMFAEnabled);
|
|
488
|
+
localStorage.setItem(storageKey, JSON.stringify({ accessToken: response.accessToken, idToken: response.idToken, email: userConfig.userInfo.email, appCode: appCode }));
|
|
460
489
|
}
|
|
461
490
|
else {
|
|
462
491
|
camsError = new CAMSError(CAMSErrorType.API_VALIDATION_ERROR, "Login failed: " + userConfig.message);
|
|
@@ -554,6 +583,8 @@ function useCAMSMSALAuth(options) {
|
|
|
554
583
|
setEmail("");
|
|
555
584
|
setError(null);
|
|
556
585
|
setRequiresMFA(false);
|
|
586
|
+
if (typeof window !== "undefined")
|
|
587
|
+
localStorage.removeItem(storageKey);
|
|
557
588
|
}
|
|
558
589
|
catch (err) {
|
|
559
590
|
camsError = new CAMSError(CAMSErrorType.API_VALIDATION_ERROR, "Logout failed: " + err);
|