@nibssplc/cams-sdk-react 0.0.1-beta.19 → 0.0.1-beta.21
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/hooks/useCAMSMSALAuth.d.ts +1 -0
- package/dist/index.cjs.js +50 -56
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +50 -56
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -16720,77 +16720,71 @@ function useCAMSMSALAuth(options) {
|
|
|
16720
16720
|
var isAuthenticated = !!account && !!token && !isMFAPending;
|
|
16721
16721
|
var scopes = options.scopes || ["openid", "profile", "email"];
|
|
16722
16722
|
React__default.useEffect(function () {
|
|
16723
|
-
if (account && !isMFAPending) {
|
|
16724
|
-
|
|
16725
|
-
|
|
16726
|
-
.
|
|
16727
|
-
scopes: scopes,
|
|
16728
|
-
account: account,
|
|
16729
|
-
})
|
|
16730
|
-
.then(function (response) {
|
|
16731
|
-
var _a, _b;
|
|
16732
|
-
if (options.mfaUrl) {
|
|
16733
|
-
// Redirect to MFA page
|
|
16734
|
-
setIsMFAPending(true);
|
|
16735
|
-
(_a = options.onMFARequired) === null || _a === void 0 ? void 0 : _a.call(options, response.accessToken, account);
|
|
16736
|
-
window.location.href = "".concat(options.mfaUrl, "?token=").concat(encodeURIComponent(response.accessToken));
|
|
16737
|
-
}
|
|
16738
|
-
else {
|
|
16739
|
-
// Complete auth without MFA
|
|
16740
|
-
setToken(response.accessToken);
|
|
16741
|
-
setProfile({
|
|
16742
|
-
type: "AUTH_SUCCESS",
|
|
16743
|
-
userProfile: {
|
|
16744
|
-
name: account.name || "",
|
|
16745
|
-
email: account.username || "",
|
|
16746
|
-
isAuthenticated: true,
|
|
16747
|
-
mfaIsEnabled: true,
|
|
16748
|
-
message: "Authentication successful",
|
|
16749
|
-
userType: "USER",
|
|
16750
|
-
tokens: {
|
|
16751
|
-
Nonce: "",
|
|
16752
|
-
Bearer: response.accessToken,
|
|
16753
|
-
},
|
|
16754
|
-
},
|
|
16755
|
-
});
|
|
16756
|
-
(_b = options.onAuthSuccess) === null || _b === void 0 ? void 0 : _b.call(options, response.accessToken);
|
|
16757
|
-
}
|
|
16758
|
-
})
|
|
16759
|
-
.catch(function (err) {
|
|
16760
|
-
var _a;
|
|
16761
|
-
var camsError = new camsSdk.CAMSError(camsSdk.CAMSErrorType.API_VALIDATION_ERROR, "Failed to acquire token silently: " + err);
|
|
16762
|
-
setError(camsError);
|
|
16763
|
-
(_a = options.onAuthError) === null || _a === void 0 ? void 0 : _a.call(options, camsError);
|
|
16723
|
+
if (account && !token && !isMFAPending) {
|
|
16724
|
+
login().catch(function (err) {
|
|
16725
|
+
// Error is already handled in login function
|
|
16726
|
+
console.error("Failed to automatically log in on mount:", err);
|
|
16764
16727
|
});
|
|
16765
16728
|
}
|
|
16766
16729
|
}, [account, instance, isMFAPending]);
|
|
16767
16730
|
var login = React__default.useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
16768
|
-
var err_1, camsError;
|
|
16769
|
-
var _a;
|
|
16770
|
-
return __generator(this, function (
|
|
16771
|
-
switch (
|
|
16731
|
+
var loginResponse, tokenResponse, err_1, camsError;
|
|
16732
|
+
var _a, _b, _c;
|
|
16733
|
+
return __generator(this, function (_d) {
|
|
16734
|
+
switch (_d.label) {
|
|
16772
16735
|
case 0:
|
|
16773
16736
|
setError(null);
|
|
16774
|
-
|
|
16737
|
+
_d.label = 1;
|
|
16775
16738
|
case 1:
|
|
16776
|
-
|
|
16777
|
-
return [4 /*yield*/, instance.
|
|
16739
|
+
_d.trys.push([1, 5, , 6]);
|
|
16740
|
+
return [4 /*yield*/, instance.loginPopup({
|
|
16778
16741
|
scopes: scopes,
|
|
16779
|
-
prompt: "select_account",
|
|
16742
|
+
prompt: options.prompt || "select_account",
|
|
16780
16743
|
})];
|
|
16781
16744
|
case 2:
|
|
16782
|
-
|
|
16783
|
-
return [3 /*break*/, 4];
|
|
16745
|
+
loginResponse = _d.sent();
|
|
16746
|
+
if (!loginResponse.account) return [3 /*break*/, 4];
|
|
16747
|
+
return [4 /*yield*/, instance.acquireTokenPopup({
|
|
16748
|
+
scopes: scopes,
|
|
16749
|
+
account: loginResponse.account,
|
|
16750
|
+
})];
|
|
16784
16751
|
case 3:
|
|
16785
|
-
|
|
16752
|
+
tokenResponse = _d.sent();
|
|
16753
|
+
if (options.mfaUrl) {
|
|
16754
|
+
setIsMFAPending(true);
|
|
16755
|
+
(_a = options.onMFARequired) === null || _a === void 0 ? void 0 : _a.call(options, tokenResponse.accessToken, loginResponse.account);
|
|
16756
|
+
}
|
|
16757
|
+
else {
|
|
16758
|
+
setToken(tokenResponse.accessToken);
|
|
16759
|
+
setProfile({
|
|
16760
|
+
type: "AUTH_SUCCESS",
|
|
16761
|
+
userProfile: {
|
|
16762
|
+
name: loginResponse.account.name || "",
|
|
16763
|
+
email: loginResponse.account.username || "",
|
|
16764
|
+
isAuthenticated: true,
|
|
16765
|
+
mfaIsEnabled: true,
|
|
16766
|
+
message: "Authentication successful",
|
|
16767
|
+
userType: "USER",
|
|
16768
|
+
tokens: {
|
|
16769
|
+
Nonce: "",
|
|
16770
|
+
Bearer: tokenResponse.accessToken,
|
|
16771
|
+
},
|
|
16772
|
+
},
|
|
16773
|
+
});
|
|
16774
|
+
(_b = options.onAuthSuccess) === null || _b === void 0 ? void 0 : _b.call(options, tokenResponse.accessToken);
|
|
16775
|
+
}
|
|
16776
|
+
_d.label = 4;
|
|
16777
|
+
case 4: return [3 /*break*/, 6];
|
|
16778
|
+
case 5:
|
|
16779
|
+
err_1 = _d.sent();
|
|
16786
16780
|
camsError = new camsSdk.CAMSError(camsSdk.CAMSErrorType.API_VALIDATION_ERROR, "Login failed: " + err_1);
|
|
16787
16781
|
setError(camsError);
|
|
16788
|
-
(
|
|
16789
|
-
return [3 /*break*/,
|
|
16790
|
-
case
|
|
16782
|
+
(_c = options.onAuthError) === null || _c === void 0 ? void 0 : _c.call(options, camsError);
|
|
16783
|
+
return [3 /*break*/, 6];
|
|
16784
|
+
case 6: return [2 /*return*/];
|
|
16791
16785
|
}
|
|
16792
16786
|
});
|
|
16793
|
-
}); }, [instance, scopes]);
|
|
16787
|
+
}); }, [instance, scopes, options]);
|
|
16794
16788
|
var logout = React__default.useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
16795
16789
|
var err_2, camsError;
|
|
16796
16790
|
return __generator(this, function (_a) {
|