@conduit-d365/auth 0.1.0 → 0.2.0

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.
@@ -1,6 +1,8 @@
1
1
  import React from "react";
2
2
  /** Context for passing custom scopes from AuthProvider to useAuth */
3
3
  export declare const ScopesContext: React.Context<string[] | undefined>;
4
+ /** Context for tracking whether MSAL initialisation is complete */
5
+ export declare const MsalReadyContext: React.Context<boolean>;
4
6
  interface AuthProviderProps {
5
7
  /** Entra ID app registration client ID */
6
8
  clientId: string;
@@ -17,11 +19,16 @@ interface AuthProviderProps {
17
19
  * management. All child components can use the useAuth() hook to access
18
20
  * the authenticated user.
19
21
  *
22
+ * Children are NOT rendered until MSAL has initialised and any pending
23
+ * redirect promise has been processed. This prevents the race condition
24
+ * where ProtectedRoute calls login() before handleRedirectPromise()
25
+ * completes, causing an infinite redirect loop.
26
+ *
20
27
  * Usage:
21
28
  * <AuthProvider clientId={import.meta.env.VITE_ENTRA_CLIENT_ID}>
22
29
  * <App />
23
30
  * </AuthProvider>
24
31
  */
25
- export declare function AuthProvider({ clientId, redirectUri, scopes, children, }: AuthProviderProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare function AuthProvider({ clientId, redirectUri, scopes, children, }: AuthProviderProps): import("react/jsx-runtime").JSX.Element | null;
26
33
  export {};
27
34
  //# sourceMappingURL=AuthProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../src/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAahE,qEAAqE;AACrE,eAAO,MAAM,aAAa,qCAAiD,CAAC;AAE5E,UAAU,iBAAiB;IACzB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EACX,MAAM,EACN,QAAQ,GACT,EAAE,iBAAiB,2CA+CnB"}
1
+ {"version":3,"file":"AuthProvider.d.ts","sourceRoot":"","sources":["../src/AuthProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAa1E,qEAAqE;AACrE,eAAO,MAAM,aAAa,qCAAiD,CAAC;AAE5E,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,wBAAgC,CAAC;AAE9D,UAAU,iBAAiB;IACzB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EACX,MAAM,EACN,QAAQ,GACT,EAAE,iBAAiB,kDAyDnB"}
@@ -1,10 +1,12 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useEffect, useRef } from "react";
2
+ import { createContext, useEffect, useRef, useState } from "react";
3
3
  import { MsalProvider, } from "@azure/msal-react";
4
4
  import { EventType, PublicClientApplication, } from "@azure/msal-browser";
5
5
  import { createMsalConfig } from "./authConfig";
6
6
  /** Context for passing custom scopes from AuthProvider to useAuth */
7
7
  export const ScopesContext = createContext(undefined);
8
+ /** Context for tracking whether MSAL initialisation is complete */
9
+ export const MsalReadyContext = createContext(false);
8
10
  /**
9
11
  * Wraps the app in an MSAL authentication context.
10
12
  *
@@ -12,6 +14,11 @@ export const ScopesContext = createContext(undefined);
12
14
  * management. All child components can use the useAuth() hook to access
13
15
  * the authenticated user.
14
16
  *
17
+ * Children are NOT rendered until MSAL has initialised and any pending
18
+ * redirect promise has been processed. This prevents the race condition
19
+ * where ProtectedRoute calls login() before handleRedirectPromise()
20
+ * completes, causing an infinite redirect loop.
21
+ *
15
22
  * Usage:
16
23
  * <AuthProvider clientId={import.meta.env.VITE_ENTRA_CLIENT_ID}>
17
24
  * <App />
@@ -19,6 +26,7 @@ export const ScopesContext = createContext(undefined);
19
26
  */
20
27
  export function AuthProvider({ clientId, redirectUri, scopes, children, }) {
21
28
  const msalInstanceRef = useRef(null);
29
+ const [msalReady, setMsalReady] = useState(false);
22
30
  if (!msalInstanceRef.current) {
23
31
  const config = createMsalConfig({ clientId, redirectUri });
24
32
  msalInstanceRef.current = new PublicClientApplication(config);
@@ -43,9 +51,14 @@ export function AuthProvider({ clientId, redirectUri, scopes, children, }) {
43
51
  }
44
52
  }
45
53
  });
54
+ setMsalReady(true);
46
55
  };
47
56
  init();
48
57
  }, [msalInstance]);
49
- return (_jsx(MsalProvider, { instance: msalInstance, children: _jsx(ScopesContext.Provider, { value: scopes, children: children }) }));
58
+ // Block rendering until MSAL has initialised and processed any redirect
59
+ if (!msalReady) {
60
+ return null;
61
+ }
62
+ return (_jsx(MsalProvider, { instance: msalInstance, children: _jsx(MsalReadyContext.Provider, { value: msalReady, children: _jsx(ScopesContext.Provider, { value: scopes, children: children }) }) }));
50
63
  }
51
64
  //# sourceMappingURL=AuthProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../src/AuthProvider.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EACL,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAuB,SAAS,CAAC,CAAC;AAY5E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EACX,MAAM,EACN,QAAQ,GACU;IAClB,MAAM,eAAe,GAAG,MAAM,CAAiC,IAAI,CAAC,CAAC;IAErE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3D,eAAe,CAAC,OAAO,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,YAAY,CAAC,qBAAqB,EAAE,CAAC;YAE3C,iDAAiD;YACjD,IACE,CAAC,YAAY,CAAC,gBAAgB,EAAE;gBAChC,YAAY,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,EACxC,CAAC;gBACD,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,yCAAyC;YACzC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAmB,EAAE,EAAE;gBACpD,IACE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,aAAa;oBAC3C,KAAK,CAAC,OAAO,EACb,CAAC;oBACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAA+B,CAAC;oBACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CACL,KAAC,YAAY,IAAC,QAAQ,EAAE,YAAY,YAClC,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YAClC,QAAQ,GACc,GACZ,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AuthProvider.js","sourceRoot":"","sources":["../src/AuthProvider.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EACL,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,uBAAuB,GAGxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,qEAAqE;AACrE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAuB,SAAS,CAAC,CAAC;AAE5E,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAU,KAAK,CAAC,CAAC;AAY9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,WAAW,EACX,MAAM,EACN,QAAQ,GACU;IAClB,MAAM,eAAe,GAAG,MAAM,CAAiC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3D,eAAe,CAAC,OAAO,GAAG,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,YAAY,CAAC,qBAAqB,EAAE,CAAC;YAE3C,iDAAiD;YACjD,IACE,CAAC,YAAY,CAAC,gBAAgB,EAAE;gBAChC,YAAY,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,EACxC,CAAC;gBACD,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC;YAED,yCAAyC;YACzC,YAAY,CAAC,gBAAgB,CAAC,CAAC,KAAmB,EAAE,EAAE;gBACpD,IACE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,aAAa;oBAC3C,KAAK,CAAC,OAAO,EACb,CAAC;oBACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAA+B,CAAC;oBACrD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,wEAAwE;IACxE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,KAAC,YAAY,IAAC,QAAQ,EAAE,YAAY,YAClC,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YACzC,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YAClC,QAAQ,GACc,GACC,GACf,CAChB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../src/useAuth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wEAAwE;IACxE,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAyDvC"}
1
+ {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../src/useAuth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wEAAwE;IACxE,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,IAAI,aAAa,CA0DvC"}
package/dist/useAuth.js CHANGED
@@ -1,8 +1,8 @@
1
- import { useContext } from "react";
1
+ import { useContext, useCallback } from "react";
2
2
  import { useMsal, useAccount } from "@azure/msal-react";
3
3
  import { InteractionRequiredAuthError } from "@azure/msal-browser";
4
4
  import { getDefaultScopes } from "./authConfig";
5
- import { ScopesContext } from "./AuthProvider";
5
+ import { ScopesContext, MsalReadyContext } from "./AuthProvider";
6
6
  /**
7
7
  * Hook for accessing auth state and operations.
8
8
  *
@@ -16,7 +16,8 @@ import { ScopesContext } from "./AuthProvider";
16
16
  export function useAuth() {
17
17
  const { instance, accounts, inProgress } = useMsal();
18
18
  const account = useAccount(accounts[0] ?? null);
19
- const isLoading = inProgress !== "none";
19
+ const msalReady = useContext(MsalReadyContext);
20
+ const isLoading = !msalReady || inProgress !== "none";
20
21
  const customScopes = useContext(ScopesContext);
21
22
  const user = account
22
23
  ? {
@@ -26,16 +27,16 @@ export function useAuth() {
26
27
  displayName: account.name ?? "",
27
28
  }
28
29
  : null;
29
- const login = async () => {
30
+ const login = useCallback(async () => {
30
31
  const clientId = instance.getConfiguration().auth.clientId;
31
32
  await instance.loginRedirect({
32
33
  scopes: customScopes ?? getDefaultScopes(clientId),
33
34
  });
34
- };
35
- const logout = async () => {
35
+ }, [instance, customScopes]);
36
+ const logout = useCallback(async () => {
36
37
  await instance.logoutRedirect();
37
- };
38
- const getAccessToken = async () => {
38
+ }, [instance]);
39
+ const getAccessToken = useCallback(async () => {
39
40
  if (!account) {
40
41
  throw new Error("No authenticated account");
41
42
  }
@@ -57,7 +58,7 @@ export function useAuth() {
57
58
  }
58
59
  throw error;
59
60
  }
60
- };
61
+ }, [instance, account, customScopes]);
61
62
  return {
62
63
  user,
63
64
  isAuthenticated: !!account,
@@ -1 +1 @@
1
- {"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../src/useAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAiB/C;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,KAAK,MAAM,CAAC;IACxC,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAoB,OAAO;QACnC,CAAC,CAAC;YACE,QAAQ,EAAG,OAAO,CAAC,aAAa,EAAE,GAAc,IAAI,EAAE;YACtD,MAAM,EAAG,OAAO,CAAC,aAAa,EAAE,GAAc,IAAI,EAAE;YACpD,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAC7B,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;SAChC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3D,MAAM,QAAQ,CAAC,aAAa,CAAC;YAC3B,MAAM,EAAE,YAAY,IAAI,gBAAgB,CAAC,QAAQ,CAAC;SACnD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC;gBAC/C,MAAM,EAAE,YAAY,IAAI,gBAAgB,CAAC,QAAQ,CAAC;gBAClD,OAAO;aACR,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,4BAA4B,EAAE,CAAC;gBAClD,wDAAwD;gBACxD,MAAM,QAAQ,CAAC,oBAAoB,CAAC;oBAClC,MAAM,EAAE,YAAY,IAAI,gBAAgB,CAAC,QAAQ,CAAC;oBAClD,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,eAAe,EAAE,CAAC,CAAC,OAAO;QAC1B,SAAS;QACT,KAAK;QACL,MAAM;QACN,cAAc;KACf,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../src/useAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAiBjE;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,SAAS,IAAI,UAAU,KAAK,MAAM,CAAC;IACtD,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAoB,OAAO;QACnC,CAAC,CAAC;YACE,QAAQ,EAAG,OAAO,CAAC,aAAa,EAAE,GAAc,IAAI,EAAE;YACtD,MAAM,EAAG,OAAO,CAAC,aAAa,EAAE,GAAc,IAAI,EAAE;YACpD,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAC7B,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;SAChC;QACH,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3D,MAAM,QAAQ,CAAC,aAAa,CAAC;YAC3B,MAAM,EAAE,YAAY,IAAI,gBAAgB,CAAC,QAAQ,CAAC;SACnD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACpC,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,IAAqB,EAAE;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC;gBAC/C,MAAM,EAAE,YAAY,IAAI,gBAAgB,CAAC,QAAQ,CAAC;gBAClD,OAAO;aACR,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,4BAA4B,EAAE,CAAC;gBAClD,wDAAwD;gBACxD,MAAM,QAAQ,CAAC,oBAAoB,CAAC;oBAClC,MAAM,EAAE,YAAY,IAAI,gBAAgB,CAAC,QAAQ,CAAC;oBAClD,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI;QACJ,eAAe,EAAE,CAAC,CAAC,OAAO;QAC1B,SAAS;QACT,KAAK;QACL,MAAM;QACN,cAAc;KACf,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduit-d365/auth",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Shared Entra ID authentication React components for the Conduit suite",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",