pi-msal-auth-lib
Version:
MSAL authentication library for React applications
71 lines (65 loc) • 2.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SmartAuthProvider = exports.AuthContext = void 0;
var _react = _interopRequireWildcard(require("react"));
var _msalReact = require("@azure/msal-react");
var _MsalService = require("../services/MsalService");
var _msalConfig = require("../config/msalConfig");
var _jsxRuntime = require("react/jsx-runtime");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
const AuthContext = exports.AuthContext = /*#__PURE__*/(0, _react.createContext)(null);
const SmartAuthProvider = ({
children,
clientId,
tenantId = "common",
redirectUri,
onAuthSuccess,
onAuthError
}) => {
const config = (0, _msalConfig.createMsalConfig)({
clientId,
tenantId,
redirectUri
});
const msalService = new _MsalService.MsalAuthService(config);
// State for loading initialization
const [isInitialized, setIsInitialized] = (0, _react.useState)(false);
(0, _react.useEffect)(() => {
const initializeMsal = async () => {
try {
console.log("Initializing MSAL...");
// Await initialization
await msalService.initialize();
console.log("MSAL initialization successful");
setIsInitialized(true);
// Optionally handle post-initialization actions
// if (onAuthSuccess && msalService.getAccount()) {
// console.log("User authenticated:", msalService.getAccount());
// onAuthSuccess(msalService.getAccount());
// }
} catch (error) {
console.error("Error during MSAL initialization:", error);
if (onAuthError) {
onAuthError(error);
}
}
};
// Call the initialization function when the component mounts
initializeMsal();
}, [msalService, onAuthSuccess, onAuthError]);
// Only render MsalProvider when MSAL is initialized
if (!isInitialized) {
console.log("!isInitialized");
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
children: "Loading..."
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_msalReact.MsalProvider, {
instance: msalService.msalInstance,
children: children
});
};
exports.SmartAuthProvider = SmartAuthProvider;