wcz-layout 6.7.0 → 6.7.2
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.
|
@@ -26,18 +26,16 @@ export const UserProvider = ({ children, setUser }) => {
|
|
|
26
26
|
groups: (_a = idTokenPayload.groups) !== null && _a !== void 0 ? _a : [],
|
|
27
27
|
department: idTokenPayload.department || "",
|
|
28
28
|
employeeId: idTokenPayload.employeeId || "",
|
|
29
|
-
companyName: idTokenPayload.companyName
|
|
29
|
+
companyName: idTokenPayload.companyName,
|
|
30
30
|
};
|
|
31
31
|
setUser(userData);
|
|
32
32
|
window.dispatchEvent(new CustomEvent(USER_DATA_FETCHED_EVENT, { detail: { user: userData } }));
|
|
33
33
|
}
|
|
34
34
|
}, [setUser]);
|
|
35
35
|
useEffect(() => {
|
|
36
|
-
// Process account if already logged in (e.g., page refresh)
|
|
37
36
|
processAccount();
|
|
38
|
-
// Listen for login success events for fresh logins
|
|
39
37
|
const callbackId = pca.addEventCallback((event) => {
|
|
40
|
-
if (event.eventType === EventType.
|
|
38
|
+
if (event.eventType === EventType.ACQUIRE_TOKEN_SUCCESS) {
|
|
41
39
|
const payload = event.payload;
|
|
42
40
|
if (payload.account) {
|
|
43
41
|
pca.setActiveAccount(payload.account);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserContext.js","sourceRoot":"","sources":["../../../src/contexts/UserContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAsC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,aAAa,EAA4B,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAExF,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAgBzD,MAAM,UAAU,SAAS,CAAI,KAAa;IACtC,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,kBAAkB,CAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE,IAAI,CAAC,EAAE,CAAC,CAChB,CAAC;IACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;AACpC,CAAC;AAOD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAqB,EAAE,EAAE;IACrE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,SAAS,CAA0B,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3E,MAAM,QAAQ,GAAS;gBACnB,EAAE,EAAE,cAAc,CAAC,GAAG;gBACtB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvC,KAAK,EAAE,cAAc,CAAC,IAAI;gBAC1B,MAAM,EAAE,MAAA,cAAc,CAAC,MAAM,mCAAI,EAAE;gBACnC,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,EAAE;gBAC3C,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,EAAE;gBAC3C,WAAW,EAAE,cAAc,CAAC,WAAW;aAC1C,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClB,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAuB,uBAAuB,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACzH,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC,GAAG,EAAE;QACX,
|
|
1
|
+
{"version":3,"file":"UserContext.js","sourceRoot":"","sources":["../../../src/contexts/UserContext.tsx"],"names":[],"mappings":"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","sourcesContent":["import { EventType, EventMessage, AuthenticationResult } from \"@azure/msal-browser\";\r\nimport { createContext, Dispatch, SetStateAction, useEffect, useCallback } from \"react\";\r\nimport { User } from \"../models/User\";\r\nimport { pca } from \"../utils/Auth\";\r\n\r\nexport const USER_DATA_FETCHED_EVENT = \"userDataFetched\";\r\n\r\nexport interface UserDataFetchedEvent {\r\n user: Partial<User>;\r\n}\r\n\r\nexport interface MicrosoftIdTokenPayload {\r\n sub: string;\r\n name: string;\r\n mail: string;\r\n department?: string;\r\n employeeId?: string;\r\n groups?: Array<string>;\r\n companyName?: string;\r\n}\r\n\r\nexport function decodeJwt<T>(token: string): T {\r\n const base64Payload = token.split(\".\")[1];\r\n const base64 = base64Payload.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n const padding = base64.length % 4 === 0 ? \"\" : \"=\".repeat(4 - (base64.length % 4));\r\n const payload = decodeURIComponent(\r\n atob(base64 + padding)\r\n .split(\"\")\r\n .map((c) => \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2))\r\n .join(\"\")\r\n );\r\n return JSON.parse(payload) as T;\r\n}\r\n\r\nexport interface UserProviderProps {\r\n setUser: Dispatch<SetStateAction<User>>;\r\n children?: React.ReactNode;\r\n}\r\n\r\nexport const UserProvider = ({ children, setUser }: UserProviderProps) => {\r\n const processAccount = useCallback(() => {\r\n const account = pca.getActiveAccount();\r\n if (account?.idToken) {\r\n const idTokenPayload = decodeJwt<MicrosoftIdTokenPayload>(account.idToken);\r\n const userData: User = {\r\n id: idTokenPayload.sub,\r\n name: idTokenPayload.name.split(\"/\")[0],\r\n email: idTokenPayload.mail,\r\n groups: idTokenPayload.groups ?? [],\r\n department: idTokenPayload.department || \"\",\r\n employeeId: idTokenPayload.employeeId || \"\",\r\n companyName: idTokenPayload.companyName,\r\n };\r\n setUser(userData);\r\n window.dispatchEvent(new CustomEvent<UserDataFetchedEvent>(USER_DATA_FETCHED_EVENT, { detail: { user: userData } }));\r\n }\r\n }, [setUser]);\r\n\r\n useEffect(() => {\r\n processAccount();\r\n\r\n const callbackId = pca.addEventCallback((event: EventMessage) => {\r\n if (event.eventType === EventType.ACQUIRE_TOKEN_SUCCESS) {\r\n const payload = event.payload as AuthenticationResult;\r\n if (payload.account) {\r\n pca.setActiveAccount(payload.account);\r\n processAccount();\r\n }\r\n }\r\n });\r\n\r\n return () => {\r\n if (callbackId) {\r\n pca.removeEventCallback(callbackId);\r\n }\r\n };\r\n }, [processAccount]);\r\n\r\n return (\r\n <UserContext.Provider value={null}>\r\n {children}\r\n </UserContext.Provider>\r\n );\r\n};\r\n\r\nexport interface UserContextValue { }\r\n\r\nexport const UserContext = createContext(null);"]}
|