@schemavaults/auth-react-provider 0.11.19 → 0.12.1

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.
Files changed (62) hide show
  1. package/dist/auth-provider/auth-client-middleware-manager.d.ts +3 -2
  2. package/dist/auth-provider/auth-client-middleware-manager.js +1 -17
  3. package/dist/auth-provider/auth-client-middleware-manager.js.map +1 -1
  4. package/dist/auth-provider/auth-provider-side-effects.d.ts +3 -2
  5. package/dist/auth-provider/auth-provider-side-effects.js.map +1 -1
  6. package/dist/auth-provider/auth-provider.d.ts +2 -4
  7. package/dist/auth-provider/auth-provider.js +5 -2
  8. package/dist/auth-provider/auth-provider.js.map +1 -1
  9. package/dist/auth-provider/core-schemavaults-auth-client-provider.d.ts +3 -2
  10. package/dist/auth-provider/core-schemavaults-auth-client-provider.js +4 -113
  11. package/dist/auth-provider/core-schemavaults-auth-client-provider.js.map +1 -1
  12. package/dist/auth-provider/index.d.ts +2 -4
  13. package/dist/auth-provider/index.js +1 -2
  14. package/dist/auth-provider/index.js.map +1 -1
  15. package/dist/contexts/app-environment-context.js +1 -0
  16. package/dist/contexts/app-environment-context.js.map +1 -1
  17. package/dist/contexts/app-id-context.js +1 -0
  18. package/dist/contexts/app-id-context.js.map +1 -1
  19. package/dist/contexts/auth-client-context.js +1 -0
  20. package/dist/contexts/auth-client-context.js.map +1 -1
  21. package/dist/contexts/redirect-url-configuration-context.d.ts +2 -0
  22. package/dist/contexts/redirect-url-configuration-context.js +4 -0
  23. package/dist/contexts/redirect-url-configuration-context.js.map +1 -0
  24. package/dist/hooks/index.d.ts +1 -0
  25. package/dist/hooks/index.js +1 -0
  26. package/dist/hooks/index.js.map +1 -1
  27. package/dist/hooks/use-auth-client-initialization.js +3 -1
  28. package/dist/hooks/use-auth-client-initialization.js.map +1 -1
  29. package/dist/hooks/use-auth-client-middleware.d.ts +0 -4
  30. package/dist/hooks/use-auth-client-middleware.js +5 -4
  31. package/dist/hooks/use-auth-client-middleware.js.map +1 -1
  32. package/dist/hooks/use-redirect-url-configuration.d.ts +3 -0
  33. package/dist/hooks/use-redirect-url-configuration.js +14 -0
  34. package/dist/hooks/use-redirect-url-configuration.js.map +1 -0
  35. package/dist/index.d.ts +2 -1
  36. package/dist/lib/auth-client-factory.d.ts +3 -3
  37. package/dist/lib/auth-client-factory.js +9 -4
  38. package/dist/lib/auth-client-factory.js.map +1 -1
  39. package/dist/lib/buildAbsoluteUri.d.ts +2 -0
  40. package/dist/lib/buildAbsoluteUri.js +37 -0
  41. package/dist/lib/buildAbsoluteUri.js.map +1 -0
  42. package/dist/lib/createRedirectUrlConfigurationWithDefaults.d.ts +2 -0
  43. package/dist/lib/createRedirectUrlConfigurationWithDefaults.js +48 -0
  44. package/dist/lib/createRedirectUrlConfigurationWithDefaults.js.map +1 -0
  45. package/dist/subproviders/redirect-url-configuration-provider.d.ts +3 -0
  46. package/dist/subproviders/redirect-url-configuration-provider.js +28 -0
  47. package/dist/subproviders/redirect-url-configuration-provider.js.map +1 -0
  48. package/dist/types/IAuthProviderRedirectUrlConfiguration.d.ts +48 -0
  49. package/dist/types/IAuthProviderRedirectUrlConfiguration.js +2 -0
  50. package/dist/types/IAuthProviderRedirectUrlConfiguration.js.map +1 -0
  51. package/dist/{auth-provider/auth-provider-props.d.ts → types/SchemaVaultsAuthProviderProps.d.ts} +9 -7
  52. package/dist/types/SchemaVaultsAuthProviderProps.js +2 -0
  53. package/dist/types/SchemaVaultsAuthProviderProps.js.map +1 -0
  54. package/package.json +2 -2
  55. package/dist/auth-provider/auth-provider-props.js +0 -2
  56. package/dist/auth-provider/auth-provider-props.js.map +0 -1
  57. package/dist/constants/DefaultPkceAuthorizeRedirectPath.d.ts +0 -2
  58. package/dist/constants/DefaultPkceAuthorizeRedirectPath.js +0 -3
  59. package/dist/constants/DefaultPkceAuthorizeRedirectPath.js.map +0 -1
  60. package/dist/constants/DefaultSuccessfulAuthenticationRedirectPath.d.ts +0 -2
  61. package/dist/constants/DefaultSuccessfulAuthenticationRedirectPath.js +0 -3
  62. package/dist/constants/DefaultSuccessfulAuthenticationRedirectPath.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import type { SchemaVaultsAuthProviderProps } from "./auth-provider-props";
3
- export declare function AuthClientMiddlewareManager(props: Omit<SchemaVaultsAuthProviderProps, "children" | "authMiddlewareRules"> & Required<Pick<SchemaVaultsAuthProviderProps, "authMiddlewareRules">>): ReactNode;
2
+ import type { SchemaVaultsAuthProviderProps } from "../types/SchemaVaultsAuthProviderProps";
3
+ import type { IAuthProviderRedirectUrlConfigurationWithDefaultsSet } from "../types/IAuthProviderRedirectUrlConfiguration";
4
+ export declare function AuthClientMiddlewareManager(props: Omit<SchemaVaultsAuthProviderProps, "children" | "authMiddlewareRules" | keyof IAuthProviderRedirectUrlConfigurationWithDefaultsSet> & Required<Pick<SchemaVaultsAuthProviderProps, "authMiddlewareRules">>): ReactNode;
4
5
  export default AuthClientMiddlewareManager;
@@ -5,21 +5,9 @@ import { useAppEnvironment, } from "../hooks/use-app-environment";
5
5
  import { useDebugWithSpecifiedBooleanOrLookupDefault } from "../hooks/use-debug";
6
6
  export function AuthClientMiddlewareManager(props) {
7
7
  const router = useRouter();
8
- const {
9
- // auth_server_uri,
10
- // successful_authentication_redirect_uri,
11
- successful_logout_redirect_uri,
12
- // app_id,
13
- path, authMiddlewareRules, authed_on_unauthed_redirect_uri, unauthed_on_authed_redirect_uri, } = props;
8
+ const { path, authMiddlewareRules } = props;
14
9
  const environment = useAppEnvironment();
15
10
  const debug = useDebugWithSpecifiedBooleanOrLookupDefault(environment, props.debug);
16
- if (!authed_on_unauthed_redirect_uri) {
17
- throw new Error("[SchemaVaultsAuthProvider] authed_on_unauthed_redirect_uri is required.");
18
- }
19
- else if (!unauthed_on_authed_redirect_uri) {
20
- throw new Error("[SchemaVaultsAuthProvider] unauthed_on_authed_redirect_uri is required.");
21
- }
22
- const authorize_uri = props.authorize_uri ?? "/auth/authorize";
23
11
  if (!authMiddlewareRules || typeof authMiddlewareRules !== "object") {
24
12
  throw new TypeError("AuthClientMiddlewareManager did not receive an 'authMiddlewareRules' object!");
25
13
  }
@@ -28,10 +16,6 @@ export function AuthClientMiddlewareManager(props) {
28
16
  authMiddlewareRules,
29
17
  path,
30
18
  router,
31
- unauthed_on_authed_redirect_uri,
32
- authed_on_unauthed_redirect_uri,
33
- authorize_uri,
34
- successful_logout_redirect_uri,
35
19
  debug,
36
20
  });
37
21
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-client-middleware-manager.js","sourceRoot":"","sources":["../../src/auth-provider/auth-client-middleware-manager.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2CAA2C,EAAE,MAAM,mBAAmB,CAAC;AAEhF,MAAM,UAAU,2BAA2B,CACzC,KAIsE;IAEtE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM;IACJ,mBAAmB;IACnB,0CAA0C;IAC1C,8BAA8B;IAC9B,UAAU;IACV,IAAI,EACJ,mBAAmB,EACnB,+BAA+B,EAC/B,+BAA+B,GAChC,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAA+B,iBAAiB,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAY,2CAA2C,CAChE,WAAW,EACX,KAAK,CAAC,KAAK,CACZ,CAAC;IAEF,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAW,KAAK,CAAC,aAAa,IAAI,iBAAiB,CAAC;IAEvE,IAAI,CAAC,mBAAmB,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QACpE,MAAM,IAAI,SAAS,CACjB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,uBAAuB,CAAC;QACtB,mBAAmB;QACnB,IAAI;QACJ,MAAM;QACN,+BAA+B;QAC/B,+BAA+B;QAC/B,aAAa;QACb,8BAA8B;QAC9B,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"auth-client-middleware-manager.js","sourceRoot":"","sources":["../../src/auth-provider/auth-client-middleware-manager.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,2CAA2C,EAAE,MAAM,mBAAmB,CAAC;AAGhF,MAAM,UAAU,2BAA2B,CACzC,KAMsE;IAEtE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAE5C,MAAM,WAAW,GAA+B,iBAAiB,EAAE,CAAC;IAEpE,MAAM,KAAK,GAAY,2CAA2C,CAChE,WAAW,EACX,KAAK,CAAC,KAAK,CACZ,CAAC;IAEF,IAAI,CAAC,mBAAmB,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QACpE,MAAM,IAAI,SAAS,CACjB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,uBAAuB,CAAC;QACtB,mBAAmB;QACnB,IAAI;QACJ,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,2BAA2B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { type ReactNode } from "react";
2
- import type { SchemaVaultsAuthProviderProps } from "./auth-provider-props";
3
- export interface AuthSideEffectsProps extends Omit<SchemaVaultsAuthProviderProps, "children"> {
2
+ import type { SchemaVaultsAuthProviderProps } from "../types/SchemaVaultsAuthProviderProps";
3
+ import type { IAuthProviderRedirectUrlConfigurationWithDefaultsSet } from "../types/IAuthProviderRedirectUrlConfiguration";
4
+ export interface AuthSideEffectsProps extends Omit<SchemaVaultsAuthProviderProps, "children" | keyof IAuthProviderRedirectUrlConfigurationWithDefaultsSet> {
4
5
  debug: boolean;
5
6
  }
6
7
  export default function AuthProviderSideEffects(props: AuthSideEffectsProps): ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-provider-side-effects.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider-side-effects.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAEnD,OAAO,mCAAmC,MAAM,kDAAkD,CAAC;AACnG,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAE3E,OAAO,uBAAuB,MAAM,gCAAgC,CAAC;AACrE,OAAO,gCAAgC,MAAM,wCAAwC,CAAC;AAStF,SAAS,yBAAyB;IAChC,mCAAmC,EAAE,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAA2B;IAE3B,MAAM,KAAK,GAAY,UAAU,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC;IAEjE,MAAM,mBAAmB,GACvB,gCAAgC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE9D,MAAM,cAAc,GAClB,KAAK,CAAC,2BAA2B;QACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAC;IAEZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,8BACG,mBAAmB,IAAI,CACtB,KAAC,2BAA2B,OACtB,KAAK,EACT,mBAAmB,EAAE,mBAAmB,GACxC,CACH,EACA,cAAc,IAAI,KAAC,yBAAyB,KAAG,IAC/C,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auth-provider-side-effects.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider-side-effects.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAEnD,OAAO,mCAAmC,MAAM,kDAAkD,CAAC;AACnG,OAAO,2BAA2B,MAAM,kCAAkC,CAAC;AAE3E,OAAO,uBAAuB,MAAM,gCAAgC,CAAC;AACrE,OAAO,gCAAgC,MAAM,wCAAwC,CAAC;AAUtF,SAAS,yBAAyB;IAChC,mCAAmC,EAAE,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAC7C,KAA2B;IAE3B,MAAM,KAAK,GAAY,UAAU,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC;IAEjE,MAAM,mBAAmB,GACvB,gCAAgC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAE9D,MAAM,cAAc,GAClB,KAAK,CAAC,2BAA2B;QACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,KAAK,CAAC;IAEZ,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,8BACG,mBAAmB,IAAI,CACtB,KAAC,2BAA2B,OACtB,KAAK,EACT,mBAAmB,EAAE,mBAAmB,GACxC,CACH,EACA,cAAc,IAAI,KAAC,yBAAyB,KAAG,IAC/C,CACJ,CAAC;AACJ,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import type { ReactElement } from "react";
2
- import type { SchemaVaultsAuthProviderProps } from "./auth-provider-props";
3
- import { type AuthMiddlewareRules } from "@schemavaults/auth-common";
4
- export type { AuthMiddlewareRules };
2
+ import type { SchemaVaultsAuthProviderProps } from "../types/SchemaVaultsAuthProviderProps";
5
3
  /**
6
4
  * @name SchemaVaultsAuthProvider
7
5
  * @see CoreSchemaVaultsAuthProvider
@@ -9,4 +7,4 @@ export type { AuthMiddlewareRules };
9
7
  */
10
8
  export declare function SchemaVaultsAuthProvider(props: SchemaVaultsAuthProviderProps): ReactElement;
11
9
  export default SchemaVaultsAuthProvider;
12
- export type { SchemaVaultsAuthProviderProps } from "./auth-provider-props";
10
+ export type { SchemaVaultsAuthProviderProps } from "../types/SchemaVaultsAuthProviderProps";
@@ -1,17 +1,20 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
+ // Core Auth Provider Logic
4
+ import CoreSchemaVaultsAuthClientProvider from "./core-schemavaults-auth-client-provider";
5
+ // Subproviders
3
6
  import SchemaVaultsAppEnvironmentContextProvider from "../subproviders/app-environment-provider";
4
7
  import AppIdProvider from "../subproviders/app-id-provider";
5
8
  import DefaultAccessTokenAudiencesProvider from "../subproviders/default-access-token-audiences-provider";
6
- import CoreSchemaVaultsAuthClientProvider from "./core-schemavaults-auth-client-provider";
7
9
  import OnLogoutProvider from "../subproviders/on-logout-provider";
10
+ import RedirectUrlConfigurationProvider from "../subproviders/redirect-url-configuration-provider";
8
11
  /**
9
12
  * @name SchemaVaultsAuthProvider
10
13
  * @see CoreSchemaVaultsAuthProvider
11
14
  * @returns App wrapped in AuthProvider
12
15
  */
13
16
  export function SchemaVaultsAuthProvider(props) {
14
- return (_jsx(SchemaVaultsAppEnvironmentContextProvider, { environment: props.environment, children: _jsx(AppIdProvider, { app_id: props.app_id, children: _jsx(DefaultAccessTokenAudiencesProvider, { default_audiences: props.default_audiences, children: _jsx(OnLogoutProvider, { onLogout: props.onLogout, children: _jsx(CoreSchemaVaultsAuthClientProvider, { ...props }) }) }) }) }));
17
+ return (_jsx(SchemaVaultsAppEnvironmentContextProvider, { environment: props.environment, verbose: props.debug ? true : false, children: _jsx(AppIdProvider, { app_id: props.app_id, children: _jsx(DefaultAccessTokenAudiencesProvider, { default_audiences: props.default_audiences, children: _jsx(OnLogoutProvider, { onLogout: props.onLogout, children: _jsx(RedirectUrlConfigurationProvider, { ...props, children: _jsx(CoreSchemaVaultsAuthClientProvider, { ...props }) }) }) }) }) }));
15
18
  }
16
19
  export default SchemaVaultsAuthProvider;
17
20
  //# sourceMappingURL=auth-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AASb,OAAO,yCAAyC,MAAM,yCAAyC,CAAC;AAChG,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,mCAAmC,MAAM,wDAAwD,CAAC;AACzG,OAAO,kCAAkC,MAAM,0CAA0C,CAAC;AAC1F,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAoC;IAEpC,OAAO,CACL,KAAC,yCAAyC,IAAC,WAAW,EAAE,KAAK,CAAC,WAAW,YACvE,KAAC,aAAa,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,YACjC,KAAC,mCAAmC,IAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,YAE1C,KAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,YACxC,KAAC,kCAAkC,OAAK,KAAK,GAAI,GAChC,GACiB,GACxB,GAC0B,CAC7C,CAAC;AACJ,CAAC;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,2BAA2B;AAC3B,OAAO,kCAAkC,MAAM,0CAA0C,CAAC;AAE1F,eAAe;AACf,OAAO,yCAAyC,MAAM,yCAAyC,CAAC;AAChG,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,mCAAmC,MAAM,wDAAwD,CAAC;AACzG,OAAO,gBAAgB,MAAM,mCAAmC,CAAC;AACjE,OAAO,gCAAgC,MAAM,oDAAoD,CAAC;AAElG;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAoC;IAEpC,OAAO,CACL,KAAC,yCAAyC,IACxC,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAEnC,KAAC,aAAa,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,YACjC,KAAC,mCAAmC,IAClC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,YAE1C,KAAC,gBAAgB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,YACxC,KAAC,gCAAgC,OAAK,KAAK,YACzC,KAAC,kCAAkC,OAAK,KAAK,GAAI,GAChB,GAClB,GACiB,GACxB,GAC0B,CAC7C,CAAC;AACJ,CAAC;AAED,eAAe,wBAAwB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { type ReactElement } from "react";
2
- import type { SchemaVaultsAuthProviderProps } from "./auth-provider-props";
2
+ import type { SchemaVaultsAuthProviderProps } from "../types/SchemaVaultsAuthProviderProps";
3
3
  import { type AuthMiddlewareRules } from "@schemavaults/auth-common";
4
4
  export type { AuthMiddlewareRules };
5
+ import type { IAuthProviderRedirectUrlConfigurationWithDefaultsSet } from "../types/IAuthProviderRedirectUrlConfiguration";
5
6
  /**
6
7
  * @name CoreSchemaVaultsAuthProvider
7
8
  * @returns App wrapped in AuthProvider
8
9
  */
9
- export default function CoreSchemaVaultsAuthClientProvider(props: SchemaVaultsAuthProviderProps): ReactElement;
10
+ export default function CoreSchemaVaultsAuthClientProvider(props: Omit<SchemaVaultsAuthProviderProps, keyof IAuthProviderRedirectUrlConfigurationWithDefaultsSet>): ReactElement;
@@ -3,14 +3,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useRef, useState, useMemo, } from "react";
4
4
  import SchemaVaultsAuthContext from "../contexts/auth-client-context";
5
5
  import useAuthClientInitialization from "../hooks/use-auth-client-initialization";
6
- import { getAuthServerUri, getHardcodedClientWebAppDomain, isHardcodedAppId, SCHEMAVAULTS_AUTH_APP_DEFINITION, } from "@schemavaults/app-definitions";
6
+ import { getAuthServerUri, } from "@schemavaults/app-definitions";
7
7
  import { useDebugWithSpecifiedBooleanOrLookupDefault } from "../hooks/use-debug";
8
- import DefaultSuccessfulAuthenticationRedirectPath from "../constants/DefaultSuccessfulAuthenticationRedirectPath";
9
- import DefaultPkceAuthorizeRedirectPath from "../constants/DefaultPkceAuthorizeRedirectPath";
10
8
  import useAppId from "../hooks/use-app-id";
11
9
  import useDefaultAccessTokenAudiences from "../hooks/use-default-access-token-audiences";
12
10
  import AuthProviderSideEffects from "./auth-provider-side-effects";
13
11
  import assertHttpsInProduction from "../lib/assert-https-in-production";
12
+ import useRedirectUrlConfiguration from "../hooks/use-redirect-url-configuration";
14
13
  /**
15
14
  * @name CoreSchemaVaultsAuthProvider
16
15
  * @returns App wrapped in AuthProvider
@@ -33,115 +32,7 @@ export default function CoreSchemaVaultsAuthClientProvider(props) {
33
32
  }
34
33
  }, [props.auth_server_uri, appEnvironment]);
35
34
  const debug = useDebugWithSpecifiedBooleanOrLookupDefault(appEnvironment, props.debug);
36
- const successful_logout_redirect_uri = useMemo(() => {
37
- if (typeof props.successful_logout_redirect_uri === "string") {
38
- return props.successful_logout_redirect_uri;
39
- }
40
- // Else, successful_logout_redirect_uri was not explicitly set
41
- if (debug) {
42
- console.warn("[AuthProvider] A 'successful_logout_redirect_uri' was not explicitly set!");
43
- }
44
- if (isHardcodedAppId(app_id)) {
45
- // default to homepage of app
46
- try {
47
- const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
48
- return appDomain;
49
- }
50
- catch (e) {
51
- console.error("Failed to query domain for hardcoded app: ", e);
52
- throw new Error("Failed to query domain for hardcoded app to use as post-logout redirect page!");
53
- }
54
- }
55
- throw new Error("No 'successful_logout_redirect_uri' was set, and failed to automatically resolve a default!");
56
- }, [props.successful_logout_redirect_uri, appEnvironment, app_id, debug]);
57
- const successful_authentication_redirect_uri = useMemo(() => {
58
- if (typeof props.successful_authentication_redirect_uri === "string") {
59
- if (debug) {
60
- console.log(`[CoreSchemaVaultsAuthProvider] successful_authentication_redirect_uri="${props.successful_authentication_redirect_uri}" (source: props)`);
61
- }
62
- return props.successful_authentication_redirect_uri;
63
- }
64
- if (debug) {
65
- console.warn("No 'successful_authentication_redirect_uri' has been explicitly defined if this point was reached!");
66
- }
67
- if (isHardcodedAppId(app_id)) {
68
- try {
69
- const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
70
- const withSuccessfulAuthenticationRedirectPath = `${appDomain}${DefaultSuccessfulAuthenticationRedirectPath}`;
71
- if (debug) {
72
- console.log(`[CoreSchemaVaultsAuthProvider] successful_authentication_redirect_uri="${withSuccessfulAuthenticationRedirectPath}" (source: default for app)`);
73
- }
74
- return withSuccessfulAuthenticationRedirectPath;
75
- }
76
- catch (e) {
77
- console.error("Failed to load default path for successful_authentication_redirect_uri: ", e);
78
- throw new Error("Failed to load default path for successful_authentication_redirect_uri!");
79
- }
80
- }
81
- else {
82
- throw new Error("No 'successful_authentication_redirect_uri' has been explicitly defined, and failed to resolve default 'successful_authentication_redirect_uri'!");
83
- }
84
- }, [
85
- app_id,
86
- appEnvironment,
87
- props.successful_authentication_redirect_uri,
88
- debug,
89
- ]);
90
- const authorize_uri = useMemo(() => {
91
- if (app_id === SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id) {
92
- if (typeof props.authorize_uri !== "undefined") {
93
- throw new TypeError("An 'authorize_uri' is set, but it should not used for the @schemavaults/auth-server app!");
94
- }
95
- return undefined;
96
- }
97
- if (typeof props.authorize_uri === "string") {
98
- if (debug) {
99
- console.log(`[CoreSchemaVaultsAuthProvider] authorize_uri="${props.authorize_uri}" (source: props)`);
100
- }
101
- if (props.authorize_uri.startsWith("http://") ||
102
- props.authorize_uri.startsWith("https://")) {
103
- return props.authorize_uri;
104
- }
105
- else if (props.authorize_uri.startsWith("/")) {
106
- if (isHardcodedAppId(app_id)) {
107
- try {
108
- const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
109
- return `${appDomain}${props.authorize_uri}`;
110
- }
111
- catch (e) {
112
- console.error("Failed to load web app domain: ", e);
113
- throw new Error("Failed to load web app domain in order to build full HTTP/HTTPS authorize redirect url from supplied relative path!");
114
- }
115
- }
116
- else {
117
- return props.authorize_uri;
118
- }
119
- }
120
- else {
121
- throw new SyntaxError("Failed to parse the 'authorize_uri' passed to AuthProvider via props into a valid URL!");
122
- }
123
- }
124
- if (props.authorize_uri) {
125
- throw new Error("Expected props.authorize_uri to be undefined if this point was reached!");
126
- }
127
- if (isHardcodedAppId(app_id)) {
128
- try {
129
- const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
130
- const withAuthorizePath = `${appDomain}${DefaultPkceAuthorizeRedirectPath}`;
131
- if (debug) {
132
- console.log(`[CoreSchemaVaultsAuthProvider] authorize_uri="${props.authorize_uri}" (source: default for app)`);
133
- }
134
- return withAuthorizePath;
135
- }
136
- catch (e) {
137
- console.error(`Failed to load default path for 'authorize_uri' for hardcoded app '${app_id}': `, e);
138
- throw new Error(`Failed to load default path for authorize_uri for hardcoded app '${app_id}'!`);
139
- }
140
- }
141
- else {
142
- throw new Error("Failed to resolve 'authorize_uri' for non-hardcoded app!");
143
- }
144
- }, [app_id, appEnvironment, props.authorize_uri, debug]);
35
+ const { successful_logout_redirect_uri, successful_authentication_redirect_uri, authorize_uri, error_page_uri, } = useRedirectUrlConfiguration();
145
36
  const authClientRef = useRef(null);
146
37
  const [ready, setReady] = useState(false);
147
38
  const default_audiences = useDefaultAccessTokenAudiences();
@@ -156,7 +47,7 @@ export default function CoreSchemaVaultsAuthClientProvider(props) {
156
47
  default_audiences,
157
48
  debug,
158
49
  authorize_uri,
159
- error_page_uri: props.error_page_uri,
50
+ error_page_uri,
160
51
  environment: appEnvironment,
161
52
  invite_code_required: typeof props.invite_code_required === "boolean"
162
53
  ? props.invite_code_required
@@ -1 +1 @@
1
- {"version":3,"file":"core-schemavaults-auth-client-provider.js","sourceRoot":"","sources":["../../src/auth-provider/core-schemavaults-auth-client-provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-schemavaults-auth-client-provider.js","sourceRoot":"","sources":["../../src/auth-provider/core-schemavaults-auth-client-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,MAAM,EAEN,QAAQ,EAER,OAAO,GACR,MAAM,OAAO,CAAC;AACf,OAAO,uBAEN,MAAM,gCAAgC,CAAC;AAOxC,OAAO,2BAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAGL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,2CAA2C,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,8BAA8B,MAAM,4CAA4C,CAAC;AACxF,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,uBAAuB,MAAM,kCAAkC,CAAC;AAEvE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kCAAkC,CACxD,KAGC;IAED,MAAM,cAAc,GAA+B,KAAK,CAAC,WAAW,CAAC;IACrE,4CAA4C;IAC5C,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAExC,MAAM,MAAM,GAAU,QAAQ,EAAE,CAAC;IAEjC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,aAAa,GAAW,OAAO,CAAC,GAAG,EAAE;QACzC,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC,eAAe,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5C,MAAM,KAAK,GAAY,2CAA2C,CAChE,cAAc,EACd,KAAK,CAAC,KAAK,CACZ,CAAC;IAEF,MAAM,EACJ,8BAA8B,EAC9B,sCAAsC,EACtC,aAAa,EACb,cAAc,GACf,GACC,2BAA2B,EAAE,CAAC;IAEhC,MAAM,aAAa,GACjB,MAAM,CAAiC,IAAI,CAAC,CAAC;IAE/C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEnD,MAAM,iBAAiB,GACrB,8BAA8B,EAAE,CAAC;IAEnC,MAAM,kCAAkC,GACtC;QACE,eAAe,EAAE,aAAa;QAC9B,aAAa;QACb,KAAK;QACL,QAAQ;QACR,sCAAsC;QACtC,8BAA8B;QAC9B,MAAM;QACN,iBAAiB;QACjB,KAAK;QACL,aAAa;QACb,cAAc;QACd,WAAW,EAAE,cAAc;QAC3B,oBAAoB,EAClB,OAAO,KAAK,CAAC,oBAAoB,KAAK,SAAS;YAC7C,CAAC,CAAC,KAAK,CAAC,oBAAoB;YAC5B,CAAC,CAAC,IAAI;QACV,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;IAEJ,qDAAqD;IACrD,2BAA2B,CAAC,kCAAkC,CAAC,CAAC;IAEhE,OAAO,CACL,MAAC,uBAAuB,CAAC,QAAQ,IAC/B,KAAK,EACH,KAAK;YACH,CAAC,CAAE;gBACC,KAAK;gBACL,MAAM,EAAE,aAAa;aACiB;YAC1C,CAAC,CAAE;gBACC,KAAK;gBACL,OAAO,EAAE,8BAA8B;aACD,aAG7C,KAAK,CAAC,QAAQ,EACf,KAAC,uBAAuB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,IACnB,CACpC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,2 @@
1
- export * from "./auth-provider";
2
- export type * from "./auth-provider";
3
- export { default as default } from "./auth-provider";
4
- export type { SchemaVaultsAuthProviderProps } from "./auth-provider-props";
1
+ export { default as default, SchemaVaultsAuthProvider } from "./auth-provider";
2
+ export type { SchemaVaultsAuthProviderProps } from "./auth-provider";
@@ -1,3 +1,2 @@
1
- export * from "./auth-provider";
2
- export { default as default } from "./auth-provider";
1
+ export { default as default, SchemaVaultsAuthProvider } from "./auth-provider";
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth-provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth-provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { createContext } from "react";
2
3
  export const SchemaVaultsAppEnvironmentContext = createContext(null);
3
4
  export default SchemaVaultsAppEnvironmentContext;
@@ -1 +1 @@
1
- {"version":3,"file":"app-environment-context.js","sourceRoot":"","sources":["../../src/contexts/app-environment-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,CAAC,MAAM,iCAAiC,GAC5C,aAAa,CAAoC,IAAI,CAAC,CAAC;AAEzD,eAAe,iCAAiC,CAAC"}
1
+ {"version":3,"file":"app-environment-context.js","sourceRoot":"","sources":["../../src/contexts/app-environment-context.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,CAAC,MAAM,iCAAiC,GAC5C,aAAa,CAAoC,IAAI,CAAC,CAAC;AAEzD,eAAe,iCAAiC,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { createContext } from "react";
2
3
  export const AppIdContext = createContext(null);
3
4
  export default AppIdContext;
@@ -1 +1 @@
1
- {"version":3,"file":"app-id-context.js","sourceRoot":"","sources":["../../src/contexts/app-id-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAe,IAAI,CAAC,CAAC;AAC9D,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"app-id-context.js","sourceRoot":"","sources":["../../src/contexts/app-id-context.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAe,IAAI,CAAC,CAAC;AAC9D,eAAe,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { createContext } from "react";
2
3
  /**
3
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth-client-context.js","sourceRoot":"","sources":["../../src/contexts/auth-client-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AAYtD;;;;KAIK;AACL,MAAM,CAAC,MAAM,uBAAuB,GAClC,aAAa,CAA8B;IACzC,KAAK,EAAE,KAAK;IACZ,OAAO,EACL,8EAA8E;CACjF,CAAC,CAAC;AAEL,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"auth-client-context.js","sourceRoot":"","sources":["../../src/contexts/auth-client-context.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AAYtD;;;;KAIK;AACL,MAAM,CAAC,MAAM,uBAAuB,GAClC,aAAa,CAA8B;IACzC,KAAK,EAAE,KAAK;IACZ,OAAO,EACL,8EAA8E;CACjF,CAAC,CAAC;AAEL,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const RedirectUrlConfigurationContext: import("react").Context<Required<import("../types/IAuthProviderRedirectUrlConfiguration").IAuthProviderRedirectUrlConfiguration> | null>;
2
+ export default RedirectUrlConfigurationContext;
@@ -0,0 +1,4 @@
1
+ import { createContext } from "react";
2
+ export const RedirectUrlConfigurationContext = createContext(null);
3
+ export default RedirectUrlConfigurationContext;
4
+ //# sourceMappingURL=redirect-url-configuration-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect-url-configuration-context.js","sourceRoot":"","sources":["../../src/contexts/redirect-url-configuration-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,MAAM,CAAC,MAAM,+BAA+B,GAC1C,aAAa,CACX,IAAI,CACL,CAAC;AAEJ,eAAe,+BAA+B,CAAC"}
@@ -32,3 +32,4 @@ export { useMfa } from "./use-mfa";
32
32
  export type * from "./use-mfa";
33
33
  export { useMyOrganizations, clearMyOrganizationsCache, } from "./use-my-organizations";
34
34
  export type * from "./use-my-organizations";
35
+ export { useRedirectUrlConfiguration } from "./use-redirect-url-configuration";
@@ -17,4 +17,5 @@ export { useOnLogout } from "./use-on-logout";
17
17
  export { useMfaStatusSwr } from "./use-mfa-status-swr";
18
18
  export { useMfa } from "./use-mfa";
19
19
  export { useMyOrganizations, clearMyOrganizationsCache, } from "./use-my-organizations";
20
+ export { useRedirectUrlConfiguration } from "./use-redirect-url-configuration";
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AAGrG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AAGrG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,EAAE,mCAAmC,EAAE,MAAM,4CAA4C,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
@@ -2,9 +2,11 @@
2
2
  import { useEffect } from "react";
3
3
  import AuthClientFactory from "../lib/auth-client-factory";
4
4
  import { useDebugWithSpecifiedBooleanOrLookupDefault } from "./use-debug";
5
+ import useRedirectUrlConfiguration from "./use-redirect-url-configuration";
5
6
  export function useAuthClientInitialization(opts) {
6
7
  const { ready, setReady } = opts;
7
- const { successful_authentication_redirect_uri, successful_logout_redirect_uri, authorize_uri, error_page_uri, authClientRef, auth_server_uri, app_id, default_audiences, environment, } = opts;
8
+ const { successful_authentication_redirect_uri, successful_logout_redirect_uri, authorize_uri, error_page_uri, } = useRedirectUrlConfiguration();
9
+ const { authClientRef, auth_server_uri, app_id, default_audiences, environment, } = opts;
8
10
  const httpFetch = opts.fetch;
9
11
  const debug = useDebugWithSpecifiedBooleanOrLookupDefault(environment, opts.debug);
10
12
  const invite_code_required = typeof opts.invite_code_required === "boolean"
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth-client-initialization.js","sourceRoot":"","sources":["../../src/hooks/use-auth-client-initialization.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAMb,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAmB1E,MAAM,UAAU,2BAA2B,CACzC,IAAwC;IAExC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,EACJ,sCAAsC,EACtC,8BAA8B,EAC9B,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAE7B,MAAM,KAAK,GAAY,2CAA2C,CAChE,WAAW,EACX,IAAI,CAAC,KAAK,CACX,CAAC;IAEF,MAAM,oBAAoB,GACxB,OAAO,IAAI,CAAC,oBAAoB,KAAK,SAAS;QAC5C,CAAC,CAAC,IAAI,CAAC,oBAAoB;QAC3B,CAAC,CAAC,IAAI,CAAC;IAEX,yCAAyC;IACzC,SAAS,CACP,SAAS,0BAA0B;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACT,wFAAwF,EACxF,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,iGAAiG,EACjG,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;oBACpC,KAAK;oBACL,iBAAiB;oBACjB,eAAe;oBACf,sCAAsC;oBACtC,8BAA8B;oBAC9B,aAAa;oBACb,cAAc;oBACd,WAAW;oBACX,MAAM;oBACN,oBAAoB;oBACpB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;gBAEH,OAAO;qBACJ,wBAAwB,EAAE;qBAC1B,IAAI,CAAC,CAAC,UAAU,EAAQ,EAAE;oBACzB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC3B,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;oBACrC,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAQ,EAAE;oBACjB,OAAO,CAAC,KAAK,CACX,4DAA4D,EAC5D,CAAC,CACF,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBACL,OAAO;YACT,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CACX,kEAAkE,EAClE,CAAC,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,gEAAgE,EAChE,KAAK,CACN,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC,EACD;QACE,KAAK;QACL,QAAQ;QACR,KAAK;QACL,MAAM;QACN,eAAe;QACf,aAAa;QACb,cAAc;QACd,sCAAsC;QACtC,8BAA8B;QAC9B,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,oBAAoB;QACpB,SAAS;KACV,CACF,CAAC,CAAC,gDAAgD;AACrD,CAAC;AAED,eAAe,2BAA2B,CAAC"}
1
+ {"version":3,"file":"use-auth-client-initialization.js","sourceRoot":"","sources":["../../src/hooks/use-auth-client-initialization.tsx"],"names":[],"mappings":"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"}
@@ -4,10 +4,6 @@ export type UseAuthClientMiddlewareOptions = {
4
4
  router: ReturnType<typeof useRouter>;
5
5
  authMiddlewareRules: AuthMiddlewareRules;
6
6
  path: string;
7
- authed_on_unauthed_redirect_uri: string;
8
- unauthed_on_authed_redirect_uri: string;
9
- authorize_uri: string;
10
- successful_logout_redirect_uri?: string;
11
7
  debug?: boolean;
12
8
  };
13
9
  export declare function useAuthClientMiddleware(opts: UseAuthClientMiddlewareOptions): void;
@@ -3,9 +3,11 @@ import { AuthMiddleware, determineAuthStatus, } from "@schemavaults/auth-common"
3
3
  import { useAuthClientStateWatcher, } from "./use-auth-client-state-watcher";
4
4
  import { useAppEnvironment, } from "./use-app-environment";
5
5
  import { useDebugWithSpecifiedBooleanOrLookupDefault } from "./use-debug";
6
+ import useRedirectUrlConfiguration from "./use-redirect-url-configuration";
6
7
  export function useAuthClientMiddleware(opts) {
7
8
  const environment = useAppEnvironment();
8
9
  const debug = useDebugWithSpecifiedBooleanOrLookupDefault(environment, opts.debug);
10
+ const { authed_on_unauthed_redirect_uri, unauthed_on_authed_redirect_uri, authorize_uri, successful_logout_redirect_uri, } = useRedirectUrlConfiguration();
9
11
  async function onAuthStateChangedRunMiddleware({ auth, debug, }) {
10
12
  console.assert(!!window, "'window' should be defined here-- but it's not! ");
11
13
  if (!opts.authMiddlewareRules) {
@@ -65,15 +67,14 @@ export function useAuthClientMiddleware(opts) {
65
67
  " " +
66
68
  `Running auth middleware after Auth SDK state change, on path ${opts.path}, with rules: `, opts.authMiddlewareRules);
67
69
  }
68
- const authorize_uri = opts.authorize_uri;
69
70
  const authMiddlewareResult = AuthMiddleware({
70
71
  path: opts.path,
71
72
  authStatus,
72
73
  rules: opts.authMiddlewareRules,
73
- authedOnUnauthedRouteRedirectTo: opts.authed_on_unauthed_redirect_uri,
74
- unauthedOnAuthedRouteRedirectTo: opts.unauthed_on_authed_redirect_uri,
74
+ authedOnUnauthedRouteRedirectTo: authed_on_unauthed_redirect_uri,
75
+ unauthedOnAuthedRouteRedirectTo: unauthed_on_authed_redirect_uri,
75
76
  authorize_uri,
76
- successful_logout_redirect_uri: opts.successful_logout_redirect_uri,
77
+ successful_logout_redirect_uri,
77
78
  environment,
78
79
  });
79
80
  if (debug) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth-client-middleware.js","sourceRoot":"","sources":["../../src/hooks/use-auth-client-middleware.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-auth-client-middleware.js","sourceRoot":"","sources":["../../src/hooks/use-auth-client-middleware.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { IAuthProviderRedirectUrlConfigurationWithDefaultsSet } from "../types/IAuthProviderRedirectUrlConfiguration";
2
+ export declare function useRedirectUrlConfiguration(): IAuthProviderRedirectUrlConfigurationWithDefaultsSet;
3
+ export default useRedirectUrlConfiguration;
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import RedirectUrlConfigurationContext from "../contexts/redirect-url-configuration-context";
3
+ import { useContext } from "react";
4
+ export function useRedirectUrlConfiguration() {
5
+ const context = useContext(RedirectUrlConfigurationContext);
6
+ if (!context) {
7
+ throw new Error("Failed to load redirect URL configuration from context!" +
8
+ " " +
9
+ "Is this hook being called from within a <RedirectUrlConfigurationContext.Provider> render tree (i.e. within a <SchemaVaultsAuthProvider>)?");
10
+ }
11
+ return context;
12
+ }
13
+ export default useRedirectUrlConfiguration;
14
+ //# sourceMappingURL=use-redirect-url-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-redirect-url-configuration.js","sourceRoot":"","sources":["../../src/hooks/use-redirect-url-configuration.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,+BAA+B,MAAM,+CAA+C,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GACX,UAAU,CAAC,+BAA+B,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,yDAAyD;YACvD,GAAG;YACH,4IAA4I,CAC/I,CAAC;IACJ,CAAC;IACD,OAAO,OAAsE,CAAC;AAChF,CAAC;AAED,eAAe,2BAA2B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export type * from "./types/hook-status";
8
8
  export type { UserData } from "./types/UserData";
9
9
  export type * from "./types/client-application";
10
10
  export { isValidErrorId, ERROR_MESSAGE_CATALOG, } from "@schemavaults/auth-client-sdk";
11
- export type { ApiServerId } from "@schemavaults/app-definitions";
11
+ export type { ApiServerId, AppId } from "@schemavaults/app-definitions";
12
12
  export { AuthMiddleware, defaultAuthMiddlewareRules, } from "@schemavaults/auth-client-sdk";
13
13
  export type { AuthMiddlewareRules, AuthMiddlewareResult, AuthMiddlewareOptions, AuthMiddlewareError, } from "@schemavaults/auth-client-sdk";
14
+ export type { IAuthProviderRedirectUrlConfiguration, IAuthProviderRedirectUrlConfigurationWithDefaultsSet, } from "./types/IAuthProviderRedirectUrlConfiguration";
@@ -8,8 +8,8 @@ export interface IAuthClientFactoryInitOpts {
8
8
  auth_server_uri: string;
9
9
  successful_authentication_redirect_uri: string;
10
10
  successful_logout_redirect_uri: string;
11
- authorize_uri?: string | undefined;
12
- error_page_uri?: string | undefined;
11
+ authorize_uri: string;
12
+ error_page_uri: string;
13
13
  invite_code_required?: boolean;
14
14
  fetch: (url: string, init: RequestInit | undefined) => Promise<Response>;
15
15
  }
@@ -18,7 +18,7 @@ export declare class AuthClientFactory {
18
18
  private readonly secure;
19
19
  private readonly app_id;
20
20
  private readonly debug;
21
- private default_audiences?;
21
+ private readonly default_audiences;
22
22
  private readonly auth_server_uri;
23
23
  private readonly successful_authentication_redirect_uri;
24
24
  private readonly successful_logout_redirect_uri;
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import SchemaVaultsAuthClient from "@schemavaults/auth-client-sdk";
3
3
  import ReactAuthClientSdkAdapter from "./react-auth-client-adapter";
4
+ import buildAbsoluteUri from "./buildAbsoluteUri";
4
5
  export class AuthClientFactory {
5
6
  environment;
6
7
  secure;
@@ -19,6 +20,10 @@ export class AuthClientFactory {
19
20
  this.environment = environment;
20
21
  this.app_id = opts.app_id;
21
22
  const isInsecureHTTPContext = (window.location.protocol.startsWith("http:") && !window.location.hostname.includes("localhost"));
23
+ if (isInsecureHTTPContext &&
24
+ (environment === "production" || environment === "staging")) {
25
+ throw new Error("Insecure HTTP context may not be used in production or staging environments!");
26
+ }
22
27
  this.secure = !isInsecureHTTPContext;
23
28
  this.debug =
24
29
  typeof opts.debug === "boolean"
@@ -26,13 +31,13 @@ export class AuthClientFactory {
26
31
  : environment === "development" ||
27
32
  environment === "test" ||
28
33
  environment === "staging";
29
- this.default_audiences = opts.default_audiences;
34
+ this.default_audiences = opts.default_audiences ?? [];
30
35
  this.auth_server_uri = opts.auth_server_uri;
31
36
  this.successful_authentication_redirect_uri =
32
37
  opts.successful_authentication_redirect_uri;
33
- this.successful_logout_redirect_uri = opts.successful_logout_redirect_uri;
34
- this.authorize_uri = opts.authorize_uri;
35
- this.error_page_uri = opts.error_page_uri;
38
+ this.successful_logout_redirect_uri = buildAbsoluteUri(opts.successful_logout_redirect_uri, environment);
39
+ this.authorize_uri = buildAbsoluteUri(opts.authorize_uri, environment);
40
+ this.error_page_uri = buildAbsoluteUri(opts.error_page_uri, environment);
36
41
  this.invite_code_required =
37
42
  typeof opts.invite_code_required === "boolean"
38
43
  ? opts.invite_code_required
@@ -1 +1 @@
1
- {"version":3,"file":"auth-client-factory.js","sourceRoot":"","sources":["../../src/lib/auth-client-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-client-factory.js","sourceRoot":"","sources":["../../src/lib/auth-client-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
2
+ export default function buildAbsoluteUri(maybeRelativeUri: string, environment: SchemaVaultsAppEnvironment): string;
@@ -0,0 +1,37 @@
1
+ export default function buildAbsoluteUri(maybeRelativeUri, environment) {
2
+ if (typeof maybeRelativeUri !== "string") {
3
+ throw new TypeError("Expected a string containing either a relative or absolute URL");
4
+ }
5
+ const origin = window.location.origin;
6
+ if (!origin.startsWith("http://") && !origin.startsWith("https://")) {
7
+ throw new Error("Expected window.location.origin to use HTTP or HTTPS!");
8
+ }
9
+ if (environment === "production" || environment === "staging") {
10
+ if (!origin.startsWith("https://")) {
11
+ throw new Error("Expected HTTPS to be used in production or staging environments!", {
12
+ cause: `Bad origin: '${origin}'`,
13
+ });
14
+ }
15
+ }
16
+ if (maybeRelativeUri.length === 0 || maybeRelativeUri === "/") {
17
+ return origin;
18
+ }
19
+ if (maybeRelativeUri.startsWith("http://") ||
20
+ maybeRelativeUri.startsWith("https://")) {
21
+ // We already have an absolute URI
22
+ const alreadyAbsoluteUri = maybeRelativeUri;
23
+ if (environment === "production" || environment === "staging") {
24
+ if (!alreadyAbsoluteUri.startsWith("https://")) {
25
+ throw new Error("Expected HTTPS to be used in production or staging environments!", {
26
+ cause: `Bad absolute URI: '${alreadyAbsoluteUri}'`,
27
+ });
28
+ }
29
+ }
30
+ return alreadyAbsoluteUri;
31
+ }
32
+ if (!maybeRelativeUri.startsWith("/")) {
33
+ throw new TypeError("Expected relative URI to start with a '/'");
34
+ }
35
+ return `${origin}${maybeRelativeUri}`;
36
+ }
37
+ //# sourceMappingURL=buildAbsoluteUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAbsoluteUri.js","sourceRoot":"","sources":["../../src/lib/buildAbsoluteUri.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,gBAAwB,EACxB,WAAuC;IAEvC,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,SAAS,CACjB,gEAAgE,CACjE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAW,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,kEAAkE,EAClE;gBACE,KAAK,EAAE,gBAAgB,MAAM,GAAG;aACjC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,KAAK,GAAG,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IACE,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;QACtC,gBAAgB,CAAC,UAAU,CAAC,UAAU,CAAC,EACvC,CAAC;QACD,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;QAE5C,IAAI,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACb,kEAAkE,EAClE;oBACE,KAAK,EAAE,sBAAsB,kBAAkB,GAAG;iBACnD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,gBAAgB,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IAuthProviderRedirectUrlConfiguration, IAuthProviderRedirectUrlConfigurationWithDefaultsSet } from "../types/IAuthProviderRedirectUrlConfiguration";
2
+ export default function createRedirectUrlConfigurationWithDefaultsSet(input: IAuthProviderRedirectUrlConfiguration): IAuthProviderRedirectUrlConfigurationWithDefaultsSet;
@@ -0,0 +1,48 @@
1
+ const DEFAULT_LOGIN_URI = "/auth/login";
2
+ const DEFAULT_REGISTER_URI = "/auth/register";
3
+ const DEFAULT_LOGOUT_URI = "/auth/logout";
4
+ const DEFAULT_AUTHORIZE_URI = "/auth/authorize";
5
+ const DEFAULT_ERROR_PAGE_URI = "/auth/error";
6
+ const DEFAULT_SUCCESSFUL_LOGOUT_REDIRECT_URI = "/";
7
+ export default function createRedirectUrlConfigurationWithDefaultsSet(input) {
8
+ const login_uri = typeof input.login_uri === "string" ? input.login_uri : DEFAULT_LOGIN_URI;
9
+ const register_uri = typeof input.register_uri === "string"
10
+ ? input.register_uri
11
+ : DEFAULT_REGISTER_URI;
12
+ const logout_uri = typeof input.logout_uri === "string"
13
+ ? input.logout_uri
14
+ : DEFAULT_LOGOUT_URI;
15
+ if (typeof input.authed_on_unauthed_redirect_uri !== "string") {
16
+ throw new TypeError("Missing 'authed_on_unauthed_redirect_uri' input prop!");
17
+ }
18
+ const authed_on_unauthed_redirect_uri = input.authed_on_unauthed_redirect_uri;
19
+ if (typeof input.unauthed_on_authed_redirect_uri !== "string") {
20
+ throw new TypeError("Missing 'unauthed_on_authed_redirect_uri' input prop!");
21
+ }
22
+ const unauthed_on_authed_redirect_uri = input.unauthed_on_authed_redirect_uri;
23
+ if (typeof input.successful_authentication_redirect_uri !== "string") {
24
+ throw new TypeError("Missing 'successful_authentication_redirect_uri' input prop!");
25
+ }
26
+ const successful_authentication_redirect_uri = input.successful_authentication_redirect_uri;
27
+ const successful_logout_redirect_uri = typeof input.successful_logout_redirect_uri === "string"
28
+ ? input.successful_logout_redirect_uri
29
+ : DEFAULT_SUCCESSFUL_LOGOUT_REDIRECT_URI;
30
+ const authorize_uri = typeof input.authorize_uri === "string"
31
+ ? input.authorize_uri
32
+ : DEFAULT_AUTHORIZE_URI;
33
+ const error_page_uri = typeof input.error_page_uri === "string"
34
+ ? input.error_page_uri
35
+ : DEFAULT_ERROR_PAGE_URI;
36
+ return {
37
+ login_uri,
38
+ register_uri,
39
+ logout_uri,
40
+ authed_on_unauthed_redirect_uri,
41
+ unauthed_on_authed_redirect_uri,
42
+ successful_authentication_redirect_uri,
43
+ successful_logout_redirect_uri,
44
+ authorize_uri,
45
+ error_page_uri,
46
+ };
47
+ }
48
+ //# sourceMappingURL=createRedirectUrlConfigurationWithDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRedirectUrlConfigurationWithDefaults.js","sourceRoot":"","sources":["../../src/lib/createRedirectUrlConfigurationWithDefaults.ts"],"names":[],"mappings":"AAKA,MAAM,iBAAiB,GAAG,aAAsB,CAAC;AACjD,MAAM,oBAAoB,GAAG,gBAAyB,CAAC;AACvD,MAAM,kBAAkB,GAAG,cAAuB,CAAC;AACnD,MAAM,qBAAqB,GAAG,iBAA0B,CAAC;AACzD,MAAM,sBAAsB,GAAG,aAAsB,CAAC;AACtD,MAAM,sCAAsC,GAAG,GAAY,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,6CAA6C,CACnE,KAA4C;IAE5C,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC5E,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACpC,CAAC,CAAC,KAAK,CAAC,YAAY;QACpB,CAAC,CAAC,oBAAoB,CAAC;IAC3B,MAAM,UAAU,GACd,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAClC,CAAC,CAAC,KAAK,CAAC,UAAU;QAClB,CAAC,CAAC,kBAAkB,CAAC;IAEzB,IAAI,OAAO,KAAK,CAAC,+BAA+B,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,MAAM,+BAA+B,GACnC,KAAK,CAAC,+BAA+B,CAAC;IAExC,IAAI,OAAO,KAAK,CAAC,+BAA+B,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,SAAS,CACjB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,MAAM,+BAA+B,GACnC,KAAK,CAAC,+BAA+B,CAAC;IAExC,IAAI,OAAO,KAAK,CAAC,sCAAsC,KAAK,QAAQ,EAAE,CAAC;QACrE,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,MAAM,sCAAsC,GAC1C,KAAK,CAAC,sCAAsC,CAAC;IAE/C,MAAM,8BAA8B,GAClC,OAAO,KAAK,CAAC,8BAA8B,KAAK,QAAQ;QACtD,CAAC,CAAC,KAAK,CAAC,8BAA8B;QACtC,CAAC,CAAC,sCAAsC,CAAC;IAE7C,MAAM,aAAa,GACjB,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QACrC,CAAC,CAAC,KAAK,CAAC,aAAa;QACrB,CAAC,CAAC,qBAAqB,CAAC;IAE5B,MAAM,cAAc,GAClB,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACtC,CAAC,CAAC,KAAK,CAAC,cAAc;QACtB,CAAC,CAAC,sBAAsB,CAAC;IAE7B,OAAO;QACL,SAAS;QACT,YAAY;QACZ,UAAU;QACV,+BAA+B;QAC/B,+BAA+B;QAC/B,sCAAsC;QACtC,8BAA8B;QAC9B,aAAa;QACb,cAAc;KACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { IAuthProviderRedirectUrlConfiguration } from "../types/IAuthProviderRedirectUrlConfiguration";
2
+ import { type PropsWithChildren, type ReactElement } from "react";
3
+ export default function RedirectUrlConfigurationProvider({ children, login_uri, register_uri, successful_authentication_redirect_uri, successful_logout_redirect_uri, authed_on_unauthed_redirect_uri, unauthed_on_authed_redirect_uri, authorize_uri, error_page_uri, }: PropsWithChildren<IAuthProviderRedirectUrlConfiguration>): ReactElement;
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import RedirectUrlConfigurationContext from "../contexts/redirect-url-configuration-context";
4
+ import createRedirectUrlConfigurationWithDefaultsSet from "../lib/createRedirectUrlConfigurationWithDefaults";
5
+ import { useMemo } from "react";
6
+ export default function RedirectUrlConfigurationProvider({ children, login_uri, register_uri, successful_authentication_redirect_uri, successful_logout_redirect_uri, authed_on_unauthed_redirect_uri, unauthed_on_authed_redirect_uri, authorize_uri, error_page_uri, }) {
7
+ const configuration = useMemo(() => createRedirectUrlConfigurationWithDefaultsSet({
8
+ login_uri,
9
+ register_uri,
10
+ successful_authentication_redirect_uri,
11
+ successful_logout_redirect_uri,
12
+ authed_on_unauthed_redirect_uri,
13
+ unauthed_on_authed_redirect_uri,
14
+ authorize_uri,
15
+ error_page_uri,
16
+ }), [
17
+ login_uri,
18
+ register_uri,
19
+ successful_authentication_redirect_uri,
20
+ successful_logout_redirect_uri,
21
+ authed_on_unauthed_redirect_uri,
22
+ unauthed_on_authed_redirect_uri,
23
+ authorize_uri,
24
+ error_page_uri,
25
+ ]);
26
+ return (_jsx(RedirectUrlConfigurationContext.Provider, { value: configuration, children: children }));
27
+ }
28
+ //# sourceMappingURL=redirect-url-configuration-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect-url-configuration-provider.js","sourceRoot":"","sources":["../../src/subproviders/redirect-url-configuration-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,+BAA+B,MAAM,+CAA+C,CAAC;AAC5F,OAAO,6CAA6C,MAAM,kDAAkD,CAAC;AAE7G,OAAO,EAAE,OAAO,EAA6C,MAAM,OAAO,CAAC;AAE3E,MAAM,CAAC,OAAO,UAAU,gCAAgC,CAAC,EACvD,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,aAAa,EACb,cAAc,GAC2C;IACzD,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,6CAA6C,CAAC;QAC5C,SAAS;QACT,YAAY;QACZ,sCAAsC;QACtC,8BAA8B;QAC9B,+BAA+B;QAC/B,+BAA+B;QAC/B,aAAa;QACb,cAAc;KACiC,CAAC,EACpD;QACE,SAAS;QACT,YAAY;QACZ,sCAAsC;QACtC,8BAA8B;QAC9B,+BAA+B;QAC/B,+BAA+B;QAC/B,aAAa;QACb,cAAc;KACf,CACF,CAAC;IAEF,OAAO,CACL,KAAC,+BAA+B,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YAC3D,QAAQ,GACgC,CAC5C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,48 @@
1
+ export interface IAuthProviderRedirectUrlConfiguration {
2
+ /**
3
+ * Where to send the user when they need to login
4
+ * @default "/auth/login"
5
+ */
6
+ login_uri?: string;
7
+ /**
8
+ * Where to send the user when they wish to create a new account
9
+ * @default "/auth/register"
10
+ */
11
+ register_uri?: string;
12
+ /**
13
+ * Where to send the user when they wish to log out
14
+ * @default "/auth/logout"
15
+ */
16
+ logout_uri?: string;
17
+ /**
18
+ * Where to send the user when they are authenticated on a route for unauthenticated users
19
+ * @example "/account"
20
+ */
21
+ authed_on_unauthed_redirect_uri: string;
22
+ /**
23
+ * Where to send the user when they are unauthenticated on a route requiring authentication
24
+ * @default "/auth/login"
25
+ */
26
+ unauthed_on_authed_redirect_uri: string;
27
+ /**
28
+ * Where to send the user after a successful authentication / token-trade
29
+ * @example "/account"
30
+ */
31
+ successful_authentication_redirect_uri: string;
32
+ /**
33
+ * Where to send the user after a successful logout
34
+ * @default "/"
35
+ */
36
+ successful_logout_redirect_uri?: string;
37
+ /**
38
+ * Optional override for the authorize page path (where authorization code is traded for token(s))
39
+ * @default "/auth/authorize"
40
+ */
41
+ authorize_uri?: string;
42
+ /**
43
+ * Optional override for the error page path.
44
+ * @default "/auth/error"
45
+ */
46
+ error_page_uri?: string;
47
+ }
48
+ export type IAuthProviderRedirectUrlConfigurationWithDefaultsSet = Required<IAuthProviderRedirectUrlConfiguration>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IAuthProviderRedirectUrlConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAuthProviderRedirectUrlConfiguration.js","sourceRoot":"","sources":["../../src/types/IAuthProviderRedirectUrlConfiguration.ts"],"names":[],"mappings":""}
@@ -5,18 +5,20 @@ import type { useRouter } from "next/navigation";
5
5
  import type { PropsWithChildren } from "react";
6
6
  import type { AuthMiddlewareRulesBuilderFn } from "../types/AuthMiddlewareRulesBuilderFn";
7
7
  import type { OnLogoutCallback } from "../contexts/on-logout-context";
8
- export interface SchemaVaultsAuthProviderProps extends PropsWithChildren {
8
+ import type { IAuthProviderRedirectUrlConfiguration } from "./IAuthProviderRedirectUrlConfiguration";
9
+ export interface SchemaVaultsAuthProviderProps extends PropsWithChildren, IAuthProviderRedirectUrlConfiguration {
9
10
  auth_server_uri?: string;
10
11
  app_id: AppId;
11
12
  router: ReturnType<typeof useRouter>;
12
13
  path: string;
13
14
  authMiddlewareRules?: AuthMiddlewareRules | AuthMiddlewareRulesBuilderFn;
14
- authed_on_unauthed_redirect_uri: string;
15
- unauthed_on_authed_redirect_uri: string;
16
- successful_authentication_redirect_uri?: string;
17
- successful_logout_redirect_uri?: string;
18
- authorize_uri?: string;
19
- error_page_uri?: string;
15
+ /**
16
+ * A callback that can be called when logging out.
17
+ * We already handle clearing all auth tokens from cookies or localStorage,
18
+ * but this may be useful for clearing other authenticated state you've added
19
+ * in your custom application. (E.g. clear SWR cache)
20
+ * @default undefined
21
+ */
20
22
  onLogout?: OnLogoutCallback;
21
23
  debug?: boolean;
22
24
  default_audiences?: InitializeAuthClientOptions["default_audiences"];
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SchemaVaultsAuthProviderProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaVaultsAuthProviderProps.js","sourceRoot":"","sources":["../../src/types/SchemaVaultsAuthProviderProps.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@schemavaults/auth-react-provider",
3
3
  "description": "React hooks and components to make using the @schemavaults/auth-client-sdk a breeze",
4
- "version": "0.11.19",
4
+ "version": "0.12.1",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
7
7
  "repository": {
@@ -15,7 +15,7 @@
15
15
  "types": "dist/index.d.ts",
16
16
  "dependencies": {
17
17
  "zod": "3.25.8",
18
- "@schemavaults/auth-client-sdk": "0.10.15",
18
+ "@schemavaults/auth-client-sdk": "0.10.17",
19
19
  "@schemavaults/app-definitions": "0.7.1",
20
20
  "@schemavaults/auth-common": "0.12.9",
21
21
  "cookies-next": "6.1.1",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth-provider-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-provider-props.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider-props.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare const DefaultPkceAuthorizeRedirectPath: "/auth/authorize";
2
- export default DefaultPkceAuthorizeRedirectPath;
@@ -1,3 +0,0 @@
1
- export const DefaultPkceAuthorizeRedirectPath = "/auth/authorize";
2
- export default DefaultPkceAuthorizeRedirectPath;
3
- //# sourceMappingURL=DefaultPkceAuthorizeRedirectPath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultPkceAuthorizeRedirectPath.js","sourceRoot":"","sources":["../../src/constants/DefaultPkceAuthorizeRedirectPath.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAC3C,iBAA2C,CAAC;AAE9C,eAAe,gCAAgC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const DefaultSuccessfulAuthenticationRedirectPath: "/account";
2
- export default DefaultSuccessfulAuthenticationRedirectPath;
@@ -1,3 +0,0 @@
1
- export const DefaultSuccessfulAuthenticationRedirectPath = "/account";
2
- export default DefaultSuccessfulAuthenticationRedirectPath;
3
- //# sourceMappingURL=DefaultSuccessfulAuthenticationRedirectPath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultSuccessfulAuthenticationRedirectPath.js","sourceRoot":"","sources":["../../src/constants/DefaultSuccessfulAuthenticationRedirectPath.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2CAA2C,GACtD,UAAoC,CAAC;AAEvC,eAAe,2CAA2C,CAAC"}