@nibssplc/cams-sdk-react 0.0.1-beta.30 → 0.0.1-beta.32
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/components/CAMSMSALProvider.d.ts +10 -2
- package/dist/hooks/useCAMSMSALAuth.d.ts +1 -1
- package/dist/index.cjs.js +54 -16
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +54 -17
- package/dist/index.esm.js.map +1 -1
- package/package.json +6 -3
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export * from './hooks/useCAMSAuth';
|
|
|
2
2
|
export * from './hooks/useCAMSMSALAuth';
|
|
3
3
|
export * from './components/CAMSProvider';
|
|
4
4
|
export * from './components/ProtectedRoute';
|
|
5
|
-
export
|
|
5
|
+
export { CAMSMSALProvider, useCAMSMSALContext } from './components/CAMSMSALProvider';
|
|
6
6
|
export * from './components/ClientOnly';
|
|
7
7
|
export * from '@nibssplc/cams-sdk';
|
package/dist/index.esm.js
CHANGED
|
@@ -16700,11 +16700,12 @@ function useCAMSMSALAuth(options) {
|
|
|
16700
16700
|
var _d = useState(null), idToken = _d[0], setIdToken = _d[1];
|
|
16701
16701
|
var _e = useState(null), accessToken = _e[0], setAccessToken = _e[1];
|
|
16702
16702
|
var _f = useState(false), isMFAPending = _f[0], setIsMFAPending = _f[1];
|
|
16703
|
+
var _g = useState(false), hasRedirected = _g[0], setHasRedirected = _g[1];
|
|
16703
16704
|
var isLoading = inProgress !== InteractionStatus.None;
|
|
16704
16705
|
var isAuthenticated = !!account && !!token && !isMFAPending;
|
|
16705
16706
|
var scopes = options.scopes || ["openid", "profile", "email"];
|
|
16706
16707
|
useEffect(function () {
|
|
16707
|
-
if (account && !isMFAPending) {
|
|
16708
|
+
if (account && !isMFAPending && !hasRedirected) {
|
|
16708
16709
|
// Get token in foreground popup
|
|
16709
16710
|
instance
|
|
16710
16711
|
.acquireTokenPopup({
|
|
@@ -16718,9 +16719,13 @@ function useCAMSMSALAuth(options) {
|
|
|
16718
16719
|
setAccessToken(response.accessToken);
|
|
16719
16720
|
setIdToken(response.idToken);
|
|
16720
16721
|
setIsMFAPending(true);
|
|
16721
|
-
|
|
16722
|
-
|
|
16723
|
-
|
|
16722
|
+
setHasRedirected(true);
|
|
16723
|
+
// Small delay to ensure popup closes before redirect
|
|
16724
|
+
setTimeout(function () {
|
|
16725
|
+
if (typeof window !== "undefined" && process.env.NODE_ENV !== 'test') {
|
|
16726
|
+
window.location.href = options.mfaUrl;
|
|
16727
|
+
}
|
|
16728
|
+
}, 100);
|
|
16724
16729
|
(_a = options.onAuthSuccess) === null || _a === void 0 ? void 0 : _a.call(options, response.accessToken);
|
|
16725
16730
|
})
|
|
16726
16731
|
.catch(function (err) {
|
|
@@ -16730,7 +16735,7 @@ function useCAMSMSALAuth(options) {
|
|
|
16730
16735
|
(_a = options.onAuthError) === null || _a === void 0 ? void 0 : _a.call(options, camsError);
|
|
16731
16736
|
});
|
|
16732
16737
|
}
|
|
16733
|
-
}, [account, instance, isMFAPending]);
|
|
16738
|
+
}, [account, instance, isMFAPending, hasRedirected]);
|
|
16734
16739
|
var login = useCallback(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
16735
16740
|
var err_1, redirectErr_1, camsError_1, camsError;
|
|
16736
16741
|
var _a, _b, _c;
|
|
@@ -16741,7 +16746,7 @@ function useCAMSMSALAuth(options) {
|
|
|
16741
16746
|
_d.label = 1;
|
|
16742
16747
|
case 1:
|
|
16743
16748
|
_d.trys.push([1, 3, , 8]);
|
|
16744
|
-
return [4 /*yield*/, instance.
|
|
16749
|
+
return [4 /*yield*/, instance.loginRedirect({
|
|
16745
16750
|
scopes: scopes,
|
|
16746
16751
|
prompt: options.prompt || "login",
|
|
16747
16752
|
})];
|
|
@@ -16789,6 +16794,7 @@ function useCAMSMSALAuth(options) {
|
|
|
16789
16794
|
setToken(null);
|
|
16790
16795
|
setError(null);
|
|
16791
16796
|
setIsMFAPending(false);
|
|
16797
|
+
setHasRedirected(false);
|
|
16792
16798
|
return [3 /*break*/, 3];
|
|
16793
16799
|
case 2:
|
|
16794
16800
|
err_2 = _a.sent();
|
|
@@ -17234,16 +17240,9 @@ var jsxRuntimeExports = jsxRuntime.exports;
|
|
|
17234
17240
|
var CAMSContext = createContext(null);
|
|
17235
17241
|
function CAMSProvider(_a) {
|
|
17236
17242
|
var children = _a.children, defaultConfig = _a.defaultConfig, msalOptions = _a.msalOptions, authOptions = __rest(_a, ["children", "defaultConfig", "msalOptions"]);
|
|
17237
|
-
var _b = useState(false), mounted = _b[0], setMounted = _b[1];
|
|
17238
17243
|
var auth = useCAMSAuth(authOptions);
|
|
17239
17244
|
var msalAuth = useCAMSMSALAuth(msalOptions || { mfaUrl: '/auth/multi-factor' });
|
|
17240
|
-
useEffect(function () {
|
|
17241
|
-
setMounted(true);
|
|
17242
|
-
}, []);
|
|
17243
17245
|
var value = useMemo(function () { return (__assign(__assign({}, auth), { defaultConfig: defaultConfig, isAuthenticated: msalAuth.isAuthenticated, idToken: msalAuth.idToken, accessToken: msalAuth.accessToken })); }, [auth, defaultConfig, msalAuth.isAuthenticated, msalAuth.idToken, msalAuth.accessToken]);
|
|
17244
|
-
if (!mounted) {
|
|
17245
|
-
return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children });
|
|
17246
|
-
}
|
|
17247
17246
|
return (jsxRuntimeExports.jsx(CAMSContext.Provider, { value: value, children: children }));
|
|
17248
17247
|
}
|
|
17249
17248
|
function useCAMSContext() {
|
|
@@ -17270,10 +17269,48 @@ function ProtectedRoute(_a) {
|
|
|
17270
17269
|
return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children });
|
|
17271
17270
|
}
|
|
17272
17271
|
|
|
17273
|
-
|
|
17274
|
-
|
|
17272
|
+
var CAMSMSALContext = createContext(null);
|
|
17273
|
+
function CAMSMSALProviderInner(_a) {
|
|
17274
|
+
var children = _a.children, authOptions = __rest(_a, ["children"]);
|
|
17275
|
+
var auth = useCAMSMSALAuth(authOptions);
|
|
17276
|
+
var _b = useState({
|
|
17277
|
+
isAuthenticated: false,
|
|
17278
|
+
idToken: null,
|
|
17279
|
+
accessToken: null
|
|
17280
|
+
}), persistedAuth = _b[0], setPersistedAuth = _b[1];
|
|
17281
|
+
useEffect(function () {
|
|
17282
|
+
if (typeof window !== 'undefined') {
|
|
17283
|
+
var stored = localStorage.getItem('cams-msal-auth');
|
|
17284
|
+
if (stored) {
|
|
17285
|
+
setPersistedAuth(JSON.parse(stored));
|
|
17286
|
+
}
|
|
17287
|
+
}
|
|
17288
|
+
}, []);
|
|
17289
|
+
useEffect(function () {
|
|
17290
|
+
var authState = {
|
|
17291
|
+
isAuthenticated: auth.isAuthenticated,
|
|
17292
|
+
idToken: auth.idToken,
|
|
17293
|
+
accessToken: auth.accessToken
|
|
17294
|
+
};
|
|
17295
|
+
setPersistedAuth(authState);
|
|
17296
|
+
if (typeof window !== 'undefined') {
|
|
17297
|
+
localStorage.setItem('cams-msal-auth', JSON.stringify(authState));
|
|
17298
|
+
}
|
|
17299
|
+
}, [auth.isAuthenticated, auth.idToken, auth.accessToken]);
|
|
17300
|
+
var value = useMemo(function () { return (__assign(__assign({}, auth), { isAuthenticated: persistedAuth.isAuthenticated, idToken: persistedAuth.idToken, accessToken: persistedAuth.accessToken })); }, [auth, persistedAuth]);
|
|
17301
|
+
return (jsxRuntimeExports.jsx(CAMSMSALContext.Provider, { value: value, children: children }));
|
|
17302
|
+
}
|
|
17303
|
+
function CAMSMSALProvider(props) {
|
|
17304
|
+
var msalConfig = props.msalConfig, msalInstance = props.msalInstance;
|
|
17275
17305
|
var instance = msalInstance || new PublicClientApplication(msalConfig);
|
|
17276
|
-
return (jsxRuntimeExports.jsx(MsalProvider, { instance: instance, children:
|
|
17306
|
+
return (jsxRuntimeExports.jsx(MsalProvider, { instance: instance, children: jsxRuntimeExports.jsx(CAMSMSALProviderInner, __assign({}, props)) }));
|
|
17307
|
+
}
|
|
17308
|
+
function useCAMSMSALContext() {
|
|
17309
|
+
var context = useContext(CAMSMSALContext);
|
|
17310
|
+
if (!context) {
|
|
17311
|
+
throw new Error('useCAMSMSALContext must be used within a CAMSMSALProvider');
|
|
17312
|
+
}
|
|
17313
|
+
return context;
|
|
17277
17314
|
}
|
|
17278
17315
|
|
|
17279
17316
|
function ClientOnly(_a) {
|
|
@@ -17288,5 +17325,5 @@ function ClientOnly(_a) {
|
|
|
17288
17325
|
return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: children });
|
|
17289
17326
|
}
|
|
17290
17327
|
|
|
17291
|
-
export { CAMSMSALProvider, CAMSProvider, ClientOnly, ProtectedRoute, useCAMSAuth, useCAMSContext, useCAMSMSALAuth };
|
|
17328
|
+
export { CAMSMSALProvider, CAMSProvider, ClientOnly, ProtectedRoute, useCAMSAuth, useCAMSContext, useCAMSMSALAuth, useCAMSMSALContext };
|
|
17292
17329
|
//# sourceMappingURL=index.esm.js.map
|