@smg-automotive/auth 6.8.0-auth0-update-switch-tenant.2 → 6.8.0-auth0-update-root.10

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 (60) hide show
  1. package/dist/Auth-BnjTWorx.d.ts +11 -0
  2. package/dist/cjs/client/contexts/Auth.d.ts +12 -0
  3. package/dist/cjs/client/contexts/Auth.js +26 -0
  4. package/dist/cjs/client/contexts/Auth.js.map +1 -0
  5. package/dist/cjs/client/contexts/__tests__/Auth.Test.d.ts +1 -0
  6. package/dist/cjs/client/contexts/index.d.ts +1 -0
  7. package/dist/cjs/client/hooks/index.d.ts +1 -0
  8. package/dist/cjs/client/hooks/useAuthConfig.d.ts +1 -0
  9. package/dist/cjs/client/hooks/useAuthConfig.js +15 -0
  10. package/dist/cjs/client/hooks/useAuthConfig.js.map +1 -0
  11. package/dist/cjs/client/hooks/useUser.d.ts +2 -4
  12. package/dist/cjs/client/hooks/useUser.js +5 -3
  13. package/dist/cjs/client/hooks/useUser.js.map +1 -1
  14. package/dist/cjs/index.d.ts +2 -0
  15. package/dist/cjs/index.js +7 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/lib/authLinks.js +10 -0
  18. package/dist/cjs/lib/authLinks.js.map +1 -1
  19. package/dist/cjs/server/helpers/getAuthProps.d.ts +6 -0
  20. package/dist/cjs/server/helpers/getAuthProps.js +13 -0
  21. package/dist/cjs/server/helpers/getAuthProps.js.map +1 -0
  22. package/dist/cjs/server/helpers/getUser.d.ts +5 -1
  23. package/dist/cjs/server/helpers/getUser.js +14 -0
  24. package/dist/cjs/server/helpers/getUser.js.map +1 -1
  25. package/dist/cjs/server/helpers/index.d.ts +1 -0
  26. package/dist/cjs/server.js +2 -0
  27. package/dist/cjs/server.js.map +1 -1
  28. package/dist/esm/client/contexts/Auth.d.ts +12 -0
  29. package/dist/esm/client/contexts/Auth.js +23 -0
  30. package/dist/esm/client/contexts/Auth.js.map +1 -0
  31. package/dist/esm/client/contexts/__tests__/Auth.Test.d.ts +1 -0
  32. package/dist/esm/client/contexts/index.d.ts +1 -0
  33. package/dist/esm/client/hooks/index.d.ts +1 -0
  34. package/dist/esm/client/hooks/useAuthConfig.d.ts +1 -0
  35. package/dist/esm/client/hooks/useAuthConfig.js +13 -0
  36. package/dist/esm/client/hooks/useAuthConfig.js.map +1 -0
  37. package/dist/esm/client/hooks/useUser.d.ts +2 -4
  38. package/dist/esm/client/hooks/useUser.js +3 -1
  39. package/dist/esm/client/hooks/useUser.js.map +1 -1
  40. package/dist/esm/index.d.ts +2 -0
  41. package/dist/esm/index.js +3 -0
  42. package/dist/esm/index.js.map +1 -1
  43. package/dist/esm/lib/authLinks.js +10 -1
  44. package/dist/esm/lib/authLinks.js.map +1 -1
  45. package/dist/esm/server/helpers/getAuthProps.d.ts +6 -0
  46. package/dist/esm/server/helpers/getAuthProps.js +11 -0
  47. package/dist/esm/server/helpers/getAuthProps.js.map +1 -0
  48. package/dist/esm/server/helpers/getUser.d.ts +5 -1
  49. package/dist/esm/server/helpers/getUser.js +14 -1
  50. package/dist/esm/server/helpers/getUser.js.map +1 -1
  51. package/dist/esm/server/helpers/index.d.ts +1 -0
  52. package/dist/esm/server.js +1 -0
  53. package/dist/esm/server.js.map +1 -1
  54. package/dist/fixtures.d.ts +1 -2
  55. package/dist/index.d.ts +21 -7
  56. package/dist/server.d.ts +8 -2
  57. package/dist/sessionUser-DL32W6UV.d.ts +82 -0
  58. package/package.json +1 -1
  59. package/dist/config-U4mojGmR.d.ts +0 -38
  60. package/dist/sessionUser-cqv4vnLO.d.ts +0 -45
@@ -0,0 +1,11 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ import { A as Auth0Config, E as EnrichedSessionUser } from './sessionUser-DL32W6UV.js';
3
+
4
+ type AuthProviderProps = {
5
+ config: Auth0Config;
6
+ user: EnrichedSessionUser | null;
7
+ };
8
+ declare const AuthProvider: FC<PropsWithChildren<AuthProviderProps>>;
9
+
10
+ export { AuthProvider as A };
11
+ export type { AuthProviderProps as a };
@@ -0,0 +1,12 @@
1
+ import React, { FC, PropsWithChildren } from 'react';
2
+ import { Auth0Config, EnrichedSessionUser } from 'src/types';
3
+ type AuthContextType = {
4
+ config: Auth0Config;
5
+ };
6
+ export declare const AuthContext: React.Context<AuthContextType | null>;
7
+ export type AuthProviderProps = {
8
+ config: Auth0Config;
9
+ user: EnrichedSessionUser | null;
10
+ };
11
+ export declare const AuthProvider: FC<PropsWithChildren<AuthProviderProps>>;
12
+ export {};
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var useSWR = require('swr');
5
+ var React = require('react');
6
+
7
+ const AuthContext = React.createContext(null);
8
+ const AuthProvider = ({ children, config, user, }) => {
9
+ const memoizedContext = React.useMemo(() => {
10
+ return {
11
+ config,
12
+ };
13
+ }, [config]);
14
+ return (React.createElement(useSWR.SWRConfig, { value: {
15
+ fallback: user
16
+ ? {
17
+ [config.userProfileEndpoint]: user,
18
+ }
19
+ : {},
20
+ } },
21
+ React.createElement(AuthContext.Provider, { value: memoizedContext }, children)));
22
+ };
23
+
24
+ exports.AuthContext = AuthContext;
25
+ exports.AuthProvider = AuthProvider;
26
+ //# sourceMappingURL=Auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.js","sources":["../../../../../src/client/contexts/Auth.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAkBO;AAKL;;;;AAIA;AAEA;AAGM;AACE;AACI;AACD;AACH;AACH;AAED;AAKN;;;"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { AuthProvider } from './Auth';
@@ -1 +1,2 @@
1
1
  export { useUser } from './useUser';
2
+ export { useAuthConfig } from './useAuthConfig';
@@ -0,0 +1 @@
1
+ export declare const useAuthConfig: () => import("../../types").Auth0Config;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var Auth = require('../contexts/Auth.js');
5
+
6
+ const useAuthConfig = () => {
7
+ const context = React.useContext(Auth.AuthContext);
8
+ if (!context) {
9
+ throw new Error('useAuthConfig must be used within an AuthProvider');
10
+ }
11
+ return context.config;
12
+ };
13
+
14
+ exports.useAuthConfig = useAuthConfig;
15
+ //# sourceMappingURL=useAuthConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuthConfig.js","sources":["../../../../../src/client/hooks/useAuthConfig.ts"],"sourcesContent":[null],"names":["useContext","AuthContext"],"mappings":";;;;;AAIO,MAAM,aAAa,GAAG,MAAK;AAChC,IAAA,MAAM,OAAO,GAAGA,gBAAU,CAACC,gBAAW,CAAC;IAEvC,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;IAEA,OAAO,OAAO,CAAC,MAAM;AACvB;;;;"}
@@ -1,7 +1,5 @@
1
- import { Auth0Config, EnrichedSessionUser } from 'src/types';
2
- export declare const useUser: ({ config }: {
3
- config: Auth0Config;
4
- }) => {
1
+ import { EnrichedSessionUser } from 'src/types';
2
+ export declare const useUser: () => {
5
3
  user: EnrichedSessionUser | null;
6
4
  error: Error | null;
7
5
  isLoading: boolean;
@@ -2,7 +2,8 @@
2
2
  'use strict';
3
3
 
4
4
  var useSWR = require('swr');
5
- var react = require('react');
5
+ var React = require('react');
6
+ var useAuthConfig = require('./useAuthConfig.js');
6
7
 
7
8
  const userFetcher = async (url) => {
8
9
  const response = await fetch(url);
@@ -11,9 +12,10 @@ const userFetcher = async (url) => {
11
12
  }
12
13
  return response.json();
13
14
  };
14
- const useUser = ({ config }) => {
15
+ const useUser = () => {
16
+ const config = useAuthConfig.useAuthConfig();
15
17
  const { data, error, isLoading, mutate } = useSWR(config.userProfileEndpoint, userFetcher);
16
- const invalidate = react.useCallback(() => mutate(), [mutate]);
18
+ const invalidate = React.useCallback(() => mutate(), [mutate]);
17
19
  return {
18
20
  user: data ?? null,
19
21
  error: error ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.js","sources":["../../../../../src/client/hooks/useUser.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAOA;AACE;AACA;AACE;;AAGF;AACF;;AAGE;AAMA;;;;;;;AAQF;;"}
1
+ {"version":3,"file":"useUser.js","sources":["../../../../../src/client/hooks/useUser.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AASA;AACE;AACA;AACE;;AAGF;AACF;AAEO;AACL;AAEA;AAMA;;;;;;;AAQF;;"}
@@ -1,2 +1,4 @@
1
+ export * from './client/contexts';
1
2
  export * from './client/helpers';
2
3
  export * from './client/hooks';
4
+ export * from './lib/authLinks';
package/dist/cjs/index.js CHANGED
@@ -1,12 +1,19 @@
1
1
  'use strict';
2
2
 
3
+ var Auth = require('./client/contexts/Auth.js');
3
4
  var getAccessToken = require('./client/helpers/getAccessToken.js');
4
5
  var switchSelectedTenant = require('./client/helpers/switchSelectedTenant.js');
5
6
  var useUser = require('./client/hooks/useUser.js');
7
+ var useAuthConfig = require('./client/hooks/useAuthConfig.js');
8
+ var authLinks = require('./lib/authLinks.js');
6
9
 
7
10
 
8
11
 
12
+ exports.AuthProvider = Auth.AuthProvider;
9
13
  exports.getAccessToken = getAccessToken.getAccessToken;
10
14
  exports.switchSelectedTenant = switchSelectedTenant.switchSelectedTenant;
11
15
  exports.useUser = useUser.useUser;
16
+ exports.useAuthConfig = useAuthConfig.useAuthConfig;
17
+ exports.getLoginLink = authLinks.getLoginLink;
18
+ exports.getLogoutLink = authLinks.getLogoutLink;
12
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -2,6 +2,15 @@
2
2
 
3
3
  var i18nPkg = require('@smg-automotive/i18n-pkg');
4
4
 
5
+ const getLogoutLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Config, }) => {
6
+ if (!auth0Config) {
7
+ throw new Error('Missing auth0Config');
8
+ }
9
+ const encodedReturnTo = returnTo
10
+ ? `&returnTo=${encodeURIComponent(returnTo)}`
11
+ : '';
12
+ return `${auth0Config.logoutEndpoint}?locale=${language}${encodedReturnTo}`;
13
+ };
5
14
  const getLoginLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Config, selectedSellerId, impersonateSellerId, }) => {
6
15
  if (!auth0Config) {
7
16
  throw new Error('Missing auth0Config');
@@ -18,4 +27,5 @@ const getLoginLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Confi
18
27
  };
19
28
 
20
29
  exports.getLoginLink = getLoginLink;
30
+ exports.getLogoutLink = getLogoutLink;
21
31
  //# sourceMappingURL=authLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":["defaultLanguage"],"mappings":";;;;AAwBO,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAGA,uBAAe,EAC1B,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GAOpB,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AAEA,IAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACvC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,gBAAgB,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,IAAI;AACF,cAAE,EAAE,qBAAqB,EAAE,mBAAmB;cAC5C,EAAE,CAAC;AACP,QAAA,IAAI,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,KAAA,CAAC;IAEF,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE;AAClE;;;;"}
1
+ {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":["defaultLanguage"],"mappings":";;;;AAIO,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,QAAQ,GAAGA,uBAAe,EAC1B,WAAW,GAKZ,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,MAAM,eAAe,GAAG;AACtB,UAAE,CAAA,UAAA,EAAa,kBAAkB,CAAC,QAAQ,CAAC,CAAA;UACzC,EAAE;IAEN,OAAO,CAAA,EAAG,WAAW,CAAC,cAAc,WAAW,QAAQ,CAAA,EAAG,eAAe,CAAA,CAAE;AAC7E;AAEO,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAGA,uBAAe,EAC1B,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GAOpB,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AAEA,IAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACvC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,gBAAgB,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,IAAI;AACF,cAAE,EAAE,qBAAqB,EAAE,mBAAmB;cAC5C,EAAE,CAAC;AACP,QAAA,IAAI,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,KAAA,CAAC;IAEF,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE;AAClE;;;;;"}
@@ -0,0 +1,6 @@
1
+ import { Brand } from 'src/types/brand';
2
+ import { AuthProviderProps } from 'src/client/contexts/Auth';
3
+ import { GetAuth0InstanceContext } from '../getAuth0Instance';
4
+ export declare const getAuthProps: (context: GetAuth0InstanceContext & {
5
+ brand: Brand;
6
+ }) => Promise<AuthProviderProps>;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var auth0 = require('../../config/auth0.js');
4
+ var getUser = require('./getUser.js');
5
+
6
+ const getAuthProps = async (context) => {
7
+ const config = auth0.getAuth0Config({ isProxied: context.isProxied });
8
+ const user = await getUser.getEnrichedUser(context);
9
+ return { config, user };
10
+ };
11
+
12
+ exports.getAuthProps = getAuthProps;
13
+ //# sourceMappingURL=getAuthProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuthProps.js","sources":["../../../../../src/server/helpers/getAuthProps.ts"],"sourcesContent":[null],"names":["getAuth0Config","getEnrichedUser"],"mappings":";;;;;MAQa,YAAY,GAAG,OAC1B,OAAmD,KACrB;AAC9B,IAAA,MAAM,MAAM,GAAGA,oBAAc,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AAC/D,IAAA,MAAM,IAAI,GAAG,MAAMC,uBAAe,CAAC,OAAO,CAAC;AAE3C,IAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;AACzB;;;;"}
@@ -1,3 +1,7 @@
1
- import { SessionUser } from 'src/types';
1
+ import { Brand } from 'src/types/brand';
2
+ import { EnrichedSessionUser, SessionUser } from 'src/types';
2
3
  import { GetAuth0InstanceContext } from '../getAuth0Instance';
3
4
  export declare const getUser: (context: GetAuth0InstanceContext) => Promise<SessionUser | null>;
5
+ export declare const getEnrichedUser: ({ brand, ...context }: GetAuth0InstanceContext & {
6
+ brand: Brand;
7
+ }) => Promise<EnrichedSessionUser | null>;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var session = require('../../lib/enrichUser/session.js');
3
4
  var getAuth0Instance = require('../getAuth0Instance.js');
4
5
 
5
6
  const getUser = async (context) => {
@@ -9,6 +10,19 @@ const getUser = async (context) => {
9
10
  return null;
10
11
  return sessionData.user;
11
12
  };
13
+ const getEnrichedUser = async ({ brand, ...context }) => {
14
+ const auth0Instance = getAuth0Instance.getAuth0Instance(context);
15
+ const sessionData = await auth0Instance.getSession();
16
+ if (!sessionData || !sessionData.user)
17
+ return null;
18
+ const user = sessionData.user;
19
+ return session.enrichUser({
20
+ user,
21
+ accessToken: sessionData.tokenSet.accessToken,
22
+ brand,
23
+ });
24
+ };
12
25
 
26
+ exports.getEnrichedUser = getEnrichedUser;
13
27
  exports.getUser = getUser;
14
28
  //# sourceMappingURL=getUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUser.js","sources":["../../../../../src/server/helpers/getUser.ts"],"sourcesContent":[null],"names":["getAuth0Instance"],"mappings":";;;;MAIa,OAAO,GAAG,OACrB,OAAgC,KACD;AAC/B,IAAA,MAAM,aAAa,GAAGA,iCAAgB,CAAC,OAAO,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAEpD,IAAA,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;IAElD,OAAO,WAAW,CAAC,IAAmB;AACxC;;;;"}
1
+ {"version":3,"file":"getUser.js","sources":["../../../../../src/server/helpers/getUser.ts"],"sourcesContent":[null],"names":["getAuth0Instance","enrichUser"],"mappings":";;;;;MAOa,OAAO,GAAG,OACrB,OAAgC,KACD;AAC/B,IAAA,MAAM,aAAa,GAAGA,iCAAgB,CAAC,OAAO,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAEpD,IAAA,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;IAElD,OAAO,WAAW,CAAC,IAAmB;AACxC;AAEO,MAAM,eAAe,GAAG,OAAO,EACpC,KAAK,EACL,GAAG,OAAO,EAGX,KAAyC;AACxC,IAAA,MAAM,aAAa,GAAGA,iCAAgB,CAAC,OAAO,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAEpD,IAAA,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;AAElD,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,IAAmB;AAC5C,IAAA,OAAOC,kBAAU,CAAC;QAChB,IAAI;AACJ,QAAA,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW;QAC7C,KAAK;AACN,KAAA,CAAC;AACJ;;;;;"}
@@ -1,3 +1,4 @@
1
1
  export { getAccessToken } from './getAccessToken';
2
+ export { getAuthProps } from './getAuthProps';
2
3
  export { getUser } from './getUser';
3
4
  export { isLoggedIn } from './isLoggedIn';
@@ -2,6 +2,7 @@
2
2
 
3
3
  var index = require('./server/middleware/index.js');
4
4
  var getAccessToken = require('./server/helpers/getAccessToken.js');
5
+ var getAuthProps = require('./server/helpers/getAuthProps.js');
5
6
  var getUser = require('./server/helpers/getUser.js');
6
7
  var isLoggedIn = require('./server/helpers/isLoggedIn.js');
7
8
 
@@ -9,6 +10,7 @@ var isLoggedIn = require('./server/helpers/isLoggedIn.js');
9
10
 
10
11
  exports.authMiddleware = index.authMiddleware;
11
12
  exports.getAccessToken = getAccessToken.getAccessToken;
13
+ exports.getAuthProps = getAuthProps.getAuthProps;
12
14
  exports.getUser = getUser.getUser;
13
15
  exports.isLoggedIn = isLoggedIn.isLoggedIn;
14
16
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ import React, { FC, PropsWithChildren } from 'react';
2
+ import { Auth0Config, EnrichedSessionUser } from 'src/types';
3
+ type AuthContextType = {
4
+ config: Auth0Config;
5
+ };
6
+ export declare const AuthContext: React.Context<AuthContextType | null>;
7
+ export type AuthProviderProps = {
8
+ config: Auth0Config;
9
+ user: EnrichedSessionUser | null;
10
+ };
11
+ export declare const AuthProvider: FC<PropsWithChildren<AuthProviderProps>>;
12
+ export {};
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { SWRConfig } from 'swr';
3
+ import React, { createContext, useMemo } from 'react';
4
+
5
+ const AuthContext = createContext(null);
6
+ const AuthProvider = ({ children, config, user, }) => {
7
+ const memoizedContext = useMemo(() => {
8
+ return {
9
+ config,
10
+ };
11
+ }, [config]);
12
+ return (React.createElement(SWRConfig, { value: {
13
+ fallback: user
14
+ ? {
15
+ [config.userProfileEndpoint]: user,
16
+ }
17
+ : {},
18
+ } },
19
+ React.createElement(AuthContext.Provider, { value: memoizedContext }, children)));
20
+ };
21
+
22
+ export { AuthContext, AuthProvider };
23
+ //# sourceMappingURL=Auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Auth.js","sources":["../../../../../src/client/contexts/Auth.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAkBO;AAKL;;;;AAIA;AAEA;AAGM;AACE;AACI;AACD;AACH;AACH;AAED;AAKN;;"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { AuthProvider } from './Auth';
@@ -1 +1,2 @@
1
1
  export { useUser } from './useUser';
2
+ export { useAuthConfig } from './useAuthConfig';
@@ -0,0 +1 @@
1
+ export declare const useAuthConfig: () => import("../../types").Auth0Config;
@@ -0,0 +1,13 @@
1
+ import { useContext } from 'react';
2
+ import { AuthContext } from '../contexts/Auth.js';
3
+
4
+ const useAuthConfig = () => {
5
+ const context = useContext(AuthContext);
6
+ if (!context) {
7
+ throw new Error('useAuthConfig must be used within an AuthProvider');
8
+ }
9
+ return context.config;
10
+ };
11
+
12
+ export { useAuthConfig };
13
+ //# sourceMappingURL=useAuthConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuthConfig.js","sources":["../../../../../src/client/hooks/useAuthConfig.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIO,MAAM,aAAa,GAAG,MAAK;AAChC,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAEvC,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC;IACtE;IAEA,OAAO,OAAO,CAAC,MAAM;AACvB;;;;"}
@@ -1,7 +1,5 @@
1
- import { Auth0Config, EnrichedSessionUser } from 'src/types';
2
- export declare const useUser: ({ config }: {
3
- config: Auth0Config;
4
- }) => {
1
+ import { EnrichedSessionUser } from 'src/types';
2
+ export declare const useUser: () => {
5
3
  user: EnrichedSessionUser | null;
6
4
  error: Error | null;
7
5
  isLoading: boolean;
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import useSWR from 'swr';
3
3
  import { useCallback } from 'react';
4
+ import { useAuthConfig } from './useAuthConfig.js';
4
5
 
5
6
  const userFetcher = async (url) => {
6
7
  const response = await fetch(url);
@@ -9,7 +10,8 @@ const userFetcher = async (url) => {
9
10
  }
10
11
  return response.json();
11
12
  };
12
- const useUser = ({ config }) => {
13
+ const useUser = () => {
14
+ const config = useAuthConfig();
13
15
  const { data, error, isLoading, mutate } = useSWR(config.userProfileEndpoint, userFetcher);
14
16
  const invalidate = useCallback(() => mutate(), [mutate]);
15
17
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useUser.js","sources":["../../../../../src/client/hooks/useUser.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAOA;AACE;AACA;AACE;;AAGF;AACF;;AAGE;AAMA;;;;;;;AAQF;;"}
1
+ {"version":3,"file":"useUser.js","sources":["../../../../../src/client/hooks/useUser.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AASA;AACE;AACA;AACE;;AAGF;AACF;AAEO;AACL;AAEA;AAMA;;;;;;;AAQF;;"}
@@ -1,2 +1,4 @@
1
+ export * from './client/contexts';
1
2
  export * from './client/helpers';
2
3
  export * from './client/hooks';
4
+ export * from './lib/authLinks';
package/dist/esm/index.js CHANGED
@@ -1,4 +1,7 @@
1
+ export { AuthProvider } from './client/contexts/Auth.js';
1
2
  export { getAccessToken } from './client/helpers/getAccessToken.js';
2
3
  export { switchSelectedTenant } from './client/helpers/switchSelectedTenant.js';
3
4
  export { useUser } from './client/hooks/useUser.js';
5
+ export { useAuthConfig } from './client/hooks/useAuthConfig.js';
6
+ export { getLoginLink, getLogoutLink } from './lib/authLinks.js';
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -1,5 +1,14 @@
1
1
  import { defaultLanguage } from '@smg-automotive/i18n-pkg';
2
2
 
3
+ const getLogoutLink = ({ returnTo, language = defaultLanguage, auth0Config, }) => {
4
+ if (!auth0Config) {
5
+ throw new Error('Missing auth0Config');
6
+ }
7
+ const encodedReturnTo = returnTo
8
+ ? `&returnTo=${encodeURIComponent(returnTo)}`
9
+ : '';
10
+ return `${auth0Config.logoutEndpoint}?locale=${language}${encodedReturnTo}`;
11
+ };
3
12
  const getLoginLink = ({ returnTo, language = defaultLanguage, auth0Config, selectedSellerId, impersonateSellerId, }) => {
4
13
  if (!auth0Config) {
5
14
  throw new Error('Missing auth0Config');
@@ -15,5 +24,5 @@ const getLoginLink = ({ returnTo, language = defaultLanguage, auth0Config, selec
15
24
  return `${auth0Config.loginEndpoint}?${searchParams.toString()}`;
16
25
  };
17
26
 
18
- export { getLoginLink };
27
+ export { getLoginLink, getLogoutLink };
19
28
  //# sourceMappingURL=authLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAwBO,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC1B,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GAOpB,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AAEA,IAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACvC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,gBAAgB,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,IAAI;AACF,cAAE,EAAE,qBAAqB,EAAE,mBAAmB;cAC5C,EAAE,CAAC;AACP,QAAA,IAAI,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,KAAA,CAAC;IAEF,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE;AAClE;;;;"}
1
+ {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIO,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC1B,WAAW,GAKZ,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,MAAM,eAAe,GAAG;AACtB,UAAE,CAAA,UAAA,EAAa,kBAAkB,CAAC,QAAQ,CAAC,CAAA;UACzC,EAAE;IAEN,OAAO,CAAA,EAAG,WAAW,CAAC,cAAc,WAAW,QAAQ,CAAA,EAAG,eAAe,CAAA,CAAE;AAC7E;AAEO,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,GAAG,eAAe,EAC1B,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GAOpB,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;AAEA,IAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;AACvC,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,IAAI,gBAAgB,GAAG,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC;AAC5D,QAAA,IAAI;AACF,cAAE,EAAE,qBAAqB,EAAE,mBAAmB;cAC5C,EAAE,CAAC;AACP,QAAA,IAAI,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC5C,KAAA,CAAC;IAEF,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,CAAA,CAAA,EAAI,YAAY,CAAC,QAAQ,EAAE,CAAA,CAAE;AAClE;;;;"}
@@ -0,0 +1,6 @@
1
+ import { Brand } from 'src/types/brand';
2
+ import { AuthProviderProps } from 'src/client/contexts/Auth';
3
+ import { GetAuth0InstanceContext } from '../getAuth0Instance';
4
+ export declare const getAuthProps: (context: GetAuth0InstanceContext & {
5
+ brand: Brand;
6
+ }) => Promise<AuthProviderProps>;
@@ -0,0 +1,11 @@
1
+ import { getAuth0Config } from '../../config/auth0.js';
2
+ import { getEnrichedUser } from './getUser.js';
3
+
4
+ const getAuthProps = async (context) => {
5
+ const config = getAuth0Config({ isProxied: context.isProxied });
6
+ const user = await getEnrichedUser(context);
7
+ return { config, user };
8
+ };
9
+
10
+ export { getAuthProps };
11
+ //# sourceMappingURL=getAuthProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuthProps.js","sources":["../../../../../src/server/helpers/getAuthProps.ts"],"sourcesContent":[null],"names":[],"mappings":";;;MAQa,YAAY,GAAG,OAC1B,OAAmD,KACrB;AAC9B,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AAC/D,IAAA,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;AAE3C,IAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;AACzB;;;;"}
@@ -1,3 +1,7 @@
1
- import { SessionUser } from 'src/types';
1
+ import { Brand } from 'src/types/brand';
2
+ import { EnrichedSessionUser, SessionUser } from 'src/types';
2
3
  import { GetAuth0InstanceContext } from '../getAuth0Instance';
3
4
  export declare const getUser: (context: GetAuth0InstanceContext) => Promise<SessionUser | null>;
5
+ export declare const getEnrichedUser: ({ brand, ...context }: GetAuth0InstanceContext & {
6
+ brand: Brand;
7
+ }) => Promise<EnrichedSessionUser | null>;
@@ -1,3 +1,4 @@
1
+ import { enrichUser } from '../../lib/enrichUser/session.js';
1
2
  import { getAuth0Instance } from '../getAuth0Instance.js';
2
3
 
3
4
  const getUser = async (context) => {
@@ -7,6 +8,18 @@ const getUser = async (context) => {
7
8
  return null;
8
9
  return sessionData.user;
9
10
  };
11
+ const getEnrichedUser = async ({ brand, ...context }) => {
12
+ const auth0Instance = getAuth0Instance(context);
13
+ const sessionData = await auth0Instance.getSession();
14
+ if (!sessionData || !sessionData.user)
15
+ return null;
16
+ const user = sessionData.user;
17
+ return enrichUser({
18
+ user,
19
+ accessToken: sessionData.tokenSet.accessToken,
20
+ brand,
21
+ });
22
+ };
10
23
 
11
- export { getUser };
24
+ export { getEnrichedUser, getUser };
12
25
  //# sourceMappingURL=getUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getUser.js","sources":["../../../../../src/server/helpers/getUser.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAIa,OAAO,GAAG,OACrB,OAAgC,KACD;AAC/B,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAEpD,IAAA,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;IAElD,OAAO,WAAW,CAAC,IAAmB;AACxC;;;;"}
1
+ {"version":3,"file":"getUser.js","sources":["../../../../../src/server/helpers/getUser.ts"],"sourcesContent":[null],"names":[],"mappings":";;;MAOa,OAAO,GAAG,OACrB,OAAgC,KACD;AAC/B,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAEpD,IAAA,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;IAElD,OAAO,WAAW,CAAC,IAAmB;AACxC;AAEO,MAAM,eAAe,GAAG,OAAO,EACpC,KAAK,EACL,GAAG,OAAO,EAGX,KAAyC;AACxC,IAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE;AAEpD,IAAA,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;AAElD,IAAA,MAAM,IAAI,GAAG,WAAW,CAAC,IAAmB;AAC5C,IAAA,OAAO,UAAU,CAAC;QAChB,IAAI;AACJ,QAAA,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,WAAW;QAC7C,KAAK;AACN,KAAA,CAAC;AACJ;;;;"}
@@ -1,3 +1,4 @@
1
1
  export { getAccessToken } from './getAccessToken';
2
+ export { getAuthProps } from './getAuthProps';
2
3
  export { getUser } from './getUser';
3
4
  export { isLoggedIn } from './isLoggedIn';
@@ -1,5 +1,6 @@
1
1
  export { authMiddleware } from './server/middleware/index.js';
2
2
  export { getAccessToken } from './server/helpers/getAccessToken.js';
3
+ export { getAuthProps } from './server/helpers/getAuthProps.js';
3
4
  export { getUser } from './server/helpers/getUser.js';
4
5
  export { isLoggedIn } from './server/helpers/isLoggedIn.js';
5
6
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"server.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,5 +1,4 @@
1
- import { A as Auth0Config } from './config-U4mojGmR.js';
2
- import { E as EnrichedSessionUser, a as Entitlements } from './sessionUser-cqv4vnLO.js';
1
+ import { A as Auth0Config, E as EnrichedSessionUser, a as Entitlements } from './sessionUser-DL32W6UV.js';
3
2
  import '@smg-automotive/i18n-pkg';
4
3
 
5
4
  declare const authConfig: (args?: Partial<Auth0Config>) => Auth0Config;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { A as Auth0Config } from './config-U4mojGmR.js';
2
- import { E as EnrichedSessionUser } from './sessionUser-cqv4vnLO.js';
3
- import '@smg-automotive/i18n-pkg';
1
+ export { A as AuthProvider } from './Auth-BnjTWorx.js';
2
+ import { A as Auth0Config, E as EnrichedSessionUser } from './sessionUser-DL32W6UV.js';
3
+ import { Language } from '@smg-automotive/i18n-pkg';
4
+ import 'react';
4
5
 
5
6
  declare const getAccessToken: ({ config }: {
6
7
  config: Auth0Config;
@@ -11,13 +12,26 @@ declare const switchSelectedTenant: ({ config, sellerId, }: {
11
12
  sellerId: string;
12
13
  }) => Promise<void>;
13
14
 
14
- declare const useUser: ({ config }: {
15
- config: Auth0Config;
16
- }) => {
15
+ declare const useUser: () => {
17
16
  user: EnrichedSessionUser | null;
18
17
  error: Error | null;
19
18
  isLoading: boolean;
20
19
  invalidate: () => Promise<EnrichedSessionUser | undefined>;
21
20
  };
22
21
 
23
- export { getAccessToken, switchSelectedTenant, useUser };
22
+ declare const useAuthConfig: () => Auth0Config;
23
+
24
+ declare const getLogoutLink: ({ returnTo, language, auth0Config, }: {
25
+ returnTo?: string;
26
+ language?: Language;
27
+ auth0Config: Auth0Config | null;
28
+ }) => string;
29
+ declare const getLoginLink: ({ returnTo, language, auth0Config, selectedSellerId, impersonateSellerId, }: {
30
+ returnTo?: string;
31
+ language?: Language;
32
+ auth0Config: Auth0Config | null;
33
+ selectedSellerId?: string;
34
+ impersonateSellerId?: string;
35
+ }) => string;
36
+
37
+ export { getAccessToken, getLoginLink, getLogoutLink, switchSelectedTenant, useAuthConfig, useUser };
package/dist/server.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { NextRequest, NextResponse } from 'next/server';
2
2
  import { Language } from '@smg-automotive/i18n-pkg';
3
- import { S as SessionUser } from './sessionUser-cqv4vnLO.js';
3
+ import { a as AuthProviderProps } from './Auth-BnjTWorx.js';
4
+ import { S as SessionUser } from './sessionUser-DL32W6UV.js';
5
+ import 'react';
4
6
 
5
7
  declare enum Brand {
6
8
  AutoScout24 = "autoscout24",
@@ -26,8 +28,12 @@ type GetAuth0InstanceContext = {
26
28
 
27
29
  declare const getAccessToken: (context: GetAuth0InstanceContext) => Promise<string>;
28
30
 
31
+ declare const getAuthProps: (context: GetAuth0InstanceContext & {
32
+ brand: Brand;
33
+ }) => Promise<AuthProviderProps>;
34
+
29
35
  declare const getUser: (context: GetAuth0InstanceContext) => Promise<SessionUser | null>;
30
36
 
31
37
  declare const isLoggedIn: (context: GetAuth0InstanceContext) => Promise<boolean>;
32
38
 
33
- export { authMiddleware, getAccessToken, getUser, isLoggedIn };
39
+ export { authMiddleware, getAccessToken, getAuthProps, getUser, isLoggedIn };
@@ -0,0 +1,82 @@
1
+ import { Language } from '@smg-automotive/i18n-pkg';
2
+
3
+ type CookieOptions = {
4
+ name: string;
5
+ httpOnly: boolean;
6
+ maxAge: number;
7
+ secure: boolean;
8
+ sameSite: boolean | 'lax' | 'strict' | 'none' | undefined;
9
+ path: string;
10
+ };
11
+
12
+ type Auth0Config = {
13
+ loginEndpoint: string;
14
+ logoutEndpoint: string;
15
+ tokenEndpoint: string;
16
+ callbackEndpoint: string;
17
+ userProfileEndpoint: string;
18
+ intervalDelayInMs: number;
19
+ refreshThresholdInMs: number;
20
+ selectedSellerIdCookie: CookieOptions;
21
+ impersonatedSellerIdCookie: CookieOptions;
22
+ proxyPathSegment: string;
23
+ legacyAccessTokenName: string;
24
+ legacyRefreshTokenName: string;
25
+ providerInterval: number;
26
+ debugForceTokenRefresh: boolean;
27
+ languageConfig: {
28
+ default: Language;
29
+ supported: Language[];
30
+ };
31
+ scopes: string;
32
+ globalAuthErrorPath: string;
33
+ authCookieNames: string[];
34
+ sessionCookieName: string;
35
+ audience: string;
36
+ };
37
+
38
+ declare enum Auth0UserType {
39
+ Private = "private",
40
+ Professional = "professional"
41
+ }
42
+ type Auth0User = {
43
+ email: string;
44
+ email_verified: boolean;
45
+ sub: string;
46
+ };
47
+
48
+ type ManagedSeller = {
49
+ id: number;
50
+ billingAddress: string | null;
51
+ billingCity: string | null;
52
+ billingCountryCode: string | null;
53
+ billingName: string | null;
54
+ billingPostOfficeBox: string | null;
55
+ billingZipCode: string | null;
56
+ };
57
+
58
+ type EntitlementsEntry = {
59
+ maxItems: number;
60
+ remainingItems: number | null;
61
+ };
62
+ type Entitlement = {
63
+ global: EntitlementsEntry;
64
+ listings: Record<number, EntitlementsEntry>;
65
+ usageDuration?: number;
66
+ };
67
+ type Entitlements = Record<string, Entitlement>;
68
+
69
+ type SessionUser = Auth0User & {
70
+ isImpersonated: boolean;
71
+ forceTenantSelection: boolean;
72
+ isMultiTenantUser: boolean;
73
+ userId: string;
74
+ sellerId: string;
75
+ userType: Auth0UserType;
76
+ };
77
+ type EnrichedSessionUser = SessionUser & {
78
+ entitlements: Entitlements | null;
79
+ managedSellers: ManagedSeller[];
80
+ };
81
+
82
+ export type { Auth0Config as A, EnrichedSessionUser as E, SessionUser as S, Entitlements as a };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smg-automotive/auth",
3
- "version": "6.8.0-auth0-update-switch-tenant.2",
3
+ "version": "6.8.0-auth0-update-root.10",
4
4
  "description": "SMG Automotive auth package",
5
5
  "exports": {
6
6
  ".": {
@@ -1,38 +0,0 @@
1
- import { Language } from '@smg-automotive/i18n-pkg';
2
-
3
- type CookieOptions = {
4
- name: string;
5
- httpOnly: boolean;
6
- maxAge: number;
7
- secure: boolean;
8
- sameSite: boolean | 'lax' | 'strict' | 'none' | undefined;
9
- path: string;
10
- };
11
-
12
- type Auth0Config = {
13
- loginEndpoint: string;
14
- logoutEndpoint: string;
15
- tokenEndpoint: string;
16
- callbackEndpoint: string;
17
- userProfileEndpoint: string;
18
- intervalDelayInMs: number;
19
- refreshThresholdInMs: number;
20
- selectedSellerIdCookie: CookieOptions;
21
- impersonatedSellerIdCookie: CookieOptions;
22
- proxyPathSegment: string;
23
- legacyAccessTokenName: string;
24
- legacyRefreshTokenName: string;
25
- providerInterval: number;
26
- debugForceTokenRefresh: boolean;
27
- languageConfig: {
28
- default: Language;
29
- supported: Language[];
30
- };
31
- scopes: string;
32
- globalAuthErrorPath: string;
33
- authCookieNames: string[];
34
- sessionCookieName: string;
35
- audience: string;
36
- };
37
-
38
- export type { Auth0Config as A };
@@ -1,45 +0,0 @@
1
- declare enum Auth0UserType {
2
- Private = "private",
3
- Professional = "professional"
4
- }
5
- type Auth0User = {
6
- email: string;
7
- email_verified: boolean;
8
- sub: string;
9
- };
10
-
11
- type ManagedSeller = {
12
- id: number;
13
- billingAddress: string | null;
14
- billingCity: string | null;
15
- billingCountryCode: string | null;
16
- billingName: string | null;
17
- billingPostOfficeBox: string | null;
18
- billingZipCode: string | null;
19
- };
20
-
21
- type EntitlementsEntry = {
22
- maxItems: number;
23
- remainingItems: number | null;
24
- };
25
- type Entitlement = {
26
- global: EntitlementsEntry;
27
- listings: Record<number, EntitlementsEntry>;
28
- usageDuration?: number;
29
- };
30
- type Entitlements = Record<string, Entitlement>;
31
-
32
- type SessionUser = Auth0User & {
33
- isImpersonated: boolean;
34
- forceTenantSelection: boolean;
35
- isMultiTenantUser: boolean;
36
- userId: string;
37
- sellerId: string;
38
- userType: Auth0UserType;
39
- };
40
- type EnrichedSessionUser = SessionUser & {
41
- entitlements: Entitlements | null;
42
- managedSellers: ManagedSeller[];
43
- };
44
-
45
- export type { EnrichedSessionUser as E, SessionUser as S, Entitlements as a };