@smg-automotive/auth 6.7.0 → 6.8.0-auth0-update-middleware.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 (276) hide show
  1. package/README.md +3 -1
  2. package/dist/cjs/config/auth0.js +31 -18
  3. package/dist/cjs/config/auth0.js.map +1 -1
  4. package/dist/cjs/fixtures/authConfig.js +40 -23
  5. package/dist/cjs/fixtures/authConfig.js.map +1 -1
  6. package/dist/cjs/fixtures/entitlements.js +151 -136
  7. package/dist/cjs/fixtures/entitlements.js.map +1 -1
  8. package/dist/cjs/fixtures/user.js +64 -55
  9. package/dist/cjs/fixtures/user.js.map +1 -1
  10. package/dist/cjs/index.js +1 -14
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/lib/authLinks.js +4 -16
  13. package/dist/cjs/lib/authLinks.js.map +1 -1
  14. package/dist/cjs/lib/utils.js +3 -3
  15. package/dist/cjs/lib/utils.js.map +1 -1
  16. package/dist/cjs/server/getAuth0Instance.d.ts +8 -0
  17. package/dist/cjs/server/getAuth0Instance.js +40 -0
  18. package/dist/cjs/server/getAuth0Instance.js.map +1 -0
  19. package/dist/cjs/server/middleware.d.ts +11 -0
  20. package/dist/cjs/server/middleware.js +74 -0
  21. package/dist/cjs/server/middleware.js.map +1 -0
  22. package/dist/cjs/server.d.ts +1 -4
  23. package/dist/cjs/server.js +2 -11
  24. package/dist/cjs/server.js.map +1 -1
  25. package/dist/cjs/types/auth0/config.d.ts +2 -0
  26. package/dist/cjs/types/auth0/jwtPayload.d.ts +2 -0
  27. package/dist/cjs/types/auth0/user.d.ts +0 -1
  28. package/dist/cjs/types/cookieOptions.d.ts +1 -1
  29. package/dist/esm/config/auth0.js +31 -18
  30. package/dist/esm/config/auth0.js.map +1 -1
  31. package/dist/esm/fixtures/authConfig.js +40 -23
  32. package/dist/esm/fixtures/authConfig.js.map +1 -1
  33. package/dist/esm/fixtures/entitlements.js +151 -136
  34. package/dist/esm/fixtures/entitlements.js.map +1 -1
  35. package/dist/esm/fixtures/user.js +64 -55
  36. package/dist/esm/fixtures/user.js.map +1 -1
  37. package/dist/esm/index.js +1 -3
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/lib/authLinks.js +5 -16
  40. package/dist/esm/lib/authLinks.js.map +1 -1
  41. package/dist/esm/lib/utils.js +3 -3
  42. package/dist/esm/lib/utils.js.map +1 -1
  43. package/dist/esm/server/getAuth0Instance.d.ts +8 -0
  44. package/dist/esm/server/getAuth0Instance.js +38 -0
  45. package/dist/esm/server/getAuth0Instance.js.map +1 -0
  46. package/dist/esm/server/middleware.d.ts +11 -0
  47. package/dist/esm/server/middleware.js +72 -0
  48. package/dist/esm/server/middleware.js.map +1 -0
  49. package/dist/esm/server.d.ts +1 -4
  50. package/dist/esm/server.js +1 -5
  51. package/dist/esm/server.js.map +1 -1
  52. package/dist/esm/types/auth0/config.d.ts +2 -0
  53. package/dist/esm/types/auth0/jwtPayload.d.ts +2 -0
  54. package/dist/esm/types/auth0/user.d.ts +0 -1
  55. package/dist/esm/types/cookieOptions.d.ts +1 -1
  56. package/dist/fixtures.d.ts +80 -2
  57. package/dist/index.d.ts +1 -33
  58. package/dist/server.d.ts +7 -74
  59. package/package.json +14 -22
  60. package/dist/cjs/api/baseUrl.js +0 -10
  61. package/dist/cjs/api/baseUrl.js.map +0 -1
  62. package/dist/cjs/api/entitlements/client.js +0 -14
  63. package/dist/cjs/api/entitlements/client.js.map +0 -1
  64. package/dist/cjs/api/entitlements/getEntitlements.js +0 -32
  65. package/dist/cjs/api/entitlements/getEntitlements.js.map +0 -1
  66. package/dist/cjs/api/seller/client.js +0 -14
  67. package/dist/cjs/api/seller/client.js.map +0 -1
  68. package/dist/cjs/api/seller/getSeller.js +0 -30
  69. package/dist/cjs/api/seller/getSeller.js.map +0 -1
  70. package/dist/cjs/api/user/client.js +0 -14
  71. package/dist/cjs/api/user/client.js.map +0 -1
  72. package/dist/cjs/api/user/getManagedSellers.js +0 -38
  73. package/dist/cjs/api/user/getManagedSellers.js.map +0 -1
  74. package/dist/cjs/apiRoutes/getImpersonatedSellerId.d.ts +0 -5
  75. package/dist/cjs/apiRoutes/getImpersonatedSellerId.js +0 -18
  76. package/dist/cjs/apiRoutes/getImpersonatedSellerId.js.map +0 -1
  77. package/dist/cjs/apiRoutes/getSelectedSeller.d.ts +0 -5
  78. package/dist/cjs/apiRoutes/getSelectedSeller.js +0 -13
  79. package/dist/cjs/apiRoutes/getSelectedSeller.js.map +0 -1
  80. package/dist/cjs/apiRoutes/handlers/constants.d.ts +0 -1
  81. package/dist/cjs/apiRoutes/handlers/constants.js +0 -6
  82. package/dist/cjs/apiRoutes/handlers/constants.js.map +0 -1
  83. package/dist/cjs/apiRoutes/handlers/creators/afterCallback.d.ts +0 -11
  84. package/dist/cjs/apiRoutes/handlers/creators/afterCallback.js +0 -48
  85. package/dist/cjs/apiRoutes/handlers/creators/afterCallback.js.map +0 -1
  86. package/dist/cjs/apiRoutes/handlers/creators/error.d.ts +0 -8
  87. package/dist/cjs/apiRoutes/handlers/creators/error.js +0 -78
  88. package/dist/cjs/apiRoutes/handlers/creators/error.js.map +0 -1
  89. package/dist/cjs/apiRoutes/handlers/creators/login.d.ts +0 -2
  90. package/dist/cjs/apiRoutes/handlers/creators/login.js +0 -27
  91. package/dist/cjs/apiRoutes/handlers/creators/login.js.map +0 -1
  92. package/dist/cjs/apiRoutes/handlers/creators/logout.d.ts +0 -2
  93. package/dist/cjs/apiRoutes/handlers/creators/logout.js +0 -73
  94. package/dist/cjs/apiRoutes/handlers/creators/logout.js.map +0 -1
  95. package/dist/cjs/apiRoutes/handlers/creators/token.d.ts +0 -12
  96. package/dist/cjs/apiRoutes/handlers/creators/token.js +0 -70
  97. package/dist/cjs/apiRoutes/handlers/creators/token.js.map +0 -1
  98. package/dist/cjs/apiRoutes/handlers/creators/types.d.ts +0 -10
  99. package/dist/cjs/apiRoutes/handlers/index.d.ts +0 -6
  100. package/dist/cjs/apiRoutes/handlers/index.js +0 -32
  101. package/dist/cjs/apiRoutes/handlers/index.js.map +0 -1
  102. package/dist/cjs/apiRoutes/index.d.ts +0 -1
  103. package/dist/cjs/apiRoutes/mapLegacyVehicleTypeGroup.d.ts +0 -2
  104. package/dist/cjs/apiRoutes/mapLegacyVehicleTypeGroup.js +0 -15
  105. package/dist/cjs/apiRoutes/mapLegacyVehicleTypeGroup.js.map +0 -1
  106. package/dist/cjs/contexts/Auth.d.ts +0 -25
  107. package/dist/cjs/contexts/Auth.js +0 -262
  108. package/dist/cjs/contexts/Auth.js.map +0 -1
  109. package/dist/cjs/contexts/__tests__/AuthTest.d.ts +0 -1
  110. package/dist/cjs/contexts/index.d.ts +0 -1
  111. package/dist/cjs/edge.d.ts +0 -1
  112. package/dist/cjs/edge.js +0 -8
  113. package/dist/cjs/edge.js.map +0 -1
  114. package/dist/cjs/fixtures/jwt.d.ts +0 -1
  115. package/dist/cjs/getServerAuthProps/app.d.ts +0 -14
  116. package/dist/cjs/getServerAuthProps/app.js +0 -64
  117. package/dist/cjs/getServerAuthProps/app.js.map +0 -1
  118. package/dist/cjs/getServerAuthProps/getAuthProps.d.ts +0 -13
  119. package/dist/cjs/getServerAuthProps/getAuthProps.js +0 -54
  120. package/dist/cjs/getServerAuthProps/getAuthProps.js.map +0 -1
  121. package/dist/cjs/getServerAuthProps/index.d.ts +0 -3
  122. package/dist/cjs/getServerAuthProps/pages.d.ts +0 -22
  123. package/dist/cjs/getServerAuthProps/pages.js +0 -63
  124. package/dist/cjs/getServerAuthProps/pages.js.map +0 -1
  125. package/dist/cjs/getServerAuthProps/types.d.ts +0 -2
  126. package/dist/cjs/hooks/useInterval.d.ts +0 -6
  127. package/dist/cjs/hooks/useInterval.js +0 -25
  128. package/dist/cjs/hooks/useInterval.js.map +0 -1
  129. package/dist/cjs/index.d.ts +0 -5
  130. package/dist/cjs/lib/buildInstanceKey.d.ts +0 -6
  131. package/dist/cjs/lib/buildInstanceKey.js +0 -9
  132. package/dist/cjs/lib/buildInstanceKey.js.map +0 -1
  133. package/dist/cjs/lib/edge/getAuth0Instance.d.ts +0 -3
  134. package/dist/cjs/lib/edge/getAuth0Instance.js +0 -31
  135. package/dist/cjs/lib/edge/getAuth0Instance.js.map +0 -1
  136. package/dist/cjs/lib/enrichUser/auth0.d.ts +0 -6
  137. package/dist/cjs/lib/enrichUser/auth0.js +0 -40
  138. package/dist/cjs/lib/enrichUser/auth0.js.map +0 -1
  139. package/dist/cjs/lib/enrichUser/session.d.ts +0 -7
  140. package/dist/cjs/lib/enrichUser/session.js +0 -59
  141. package/dist/cjs/lib/enrichUser/session.js.map +0 -1
  142. package/dist/cjs/lib/request/getAccessToken.d.ts +0 -30
  143. package/dist/cjs/lib/request/getAccessToken.js +0 -130
  144. package/dist/cjs/lib/request/getAccessToken.js.map +0 -1
  145. package/dist/cjs/lib/request/getAuth0Instance.d.ts +0 -3
  146. package/dist/cjs/lib/request/getAuth0Instance.js +0 -31
  147. package/dist/cjs/lib/request/getAuth0Instance.js.map +0 -1
  148. package/dist/cjs/lib/request/getUserAndAccessToken.d.ts +0 -21
  149. package/dist/cjs/lib/request/getUserAndAccessToken.js +0 -67
  150. package/dist/cjs/lib/request/getUserAndAccessToken.js.map +0 -1
  151. package/dist/cjs/lib/request/inFlightAccessTokenCache.d.ts +0 -8
  152. package/dist/cjs/lib/request/inFlightAccessTokenCache.js +0 -6
  153. package/dist/cjs/lib/request/inFlightAccessTokenCache.js.map +0 -1
  154. package/dist/cjs/lib/request/isLoggedIn.d.ts +0 -14
  155. package/dist/cjs/lib/request/isLoggedIn.js +0 -26
  156. package/dist/cjs/lib/request/isLoggedIn.js.map +0 -1
  157. package/dist/cjs/lib/request/sessionCallbackHandler.d.ts +0 -17
  158. package/dist/cjs/lib/request/sessionCallbackHandler.js +0 -74
  159. package/dist/cjs/lib/request/sessionCallbackHandler.js.map +0 -1
  160. package/dist/cjs/middleware.d.ts +0 -12
  161. package/dist/cjs/middleware.js +0 -75
  162. package/dist/cjs/middleware.js.map +0 -1
  163. package/dist/cjs/node_modules/tslib/tslib.es6.js +0 -100
  164. package/dist/cjs/node_modules/tslib/tslib.es6.js.map +0 -1
  165. package/dist/cjs/types/brand.js +0 -8
  166. package/dist/cjs/types/brand.js.map +0 -1
  167. package/dist/edge.d.ts +0 -16
  168. package/dist/esm/api/baseUrl.js +0 -8
  169. package/dist/esm/api/baseUrl.js.map +0 -1
  170. package/dist/esm/api/entitlements/client.js +0 -12
  171. package/dist/esm/api/entitlements/client.js.map +0 -1
  172. package/dist/esm/api/entitlements/getEntitlements.js +0 -30
  173. package/dist/esm/api/entitlements/getEntitlements.js.map +0 -1
  174. package/dist/esm/api/seller/client.js +0 -12
  175. package/dist/esm/api/seller/client.js.map +0 -1
  176. package/dist/esm/api/seller/getSeller.js +0 -28
  177. package/dist/esm/api/seller/getSeller.js.map +0 -1
  178. package/dist/esm/api/user/client.js +0 -12
  179. package/dist/esm/api/user/client.js.map +0 -1
  180. package/dist/esm/api/user/getManagedSellers.js +0 -36
  181. package/dist/esm/api/user/getManagedSellers.js.map +0 -1
  182. package/dist/esm/apiRoutes/getImpersonatedSellerId.d.ts +0 -5
  183. package/dist/esm/apiRoutes/getImpersonatedSellerId.js +0 -16
  184. package/dist/esm/apiRoutes/getImpersonatedSellerId.js.map +0 -1
  185. package/dist/esm/apiRoutes/getSelectedSeller.d.ts +0 -5
  186. package/dist/esm/apiRoutes/getSelectedSeller.js +0 -11
  187. package/dist/esm/apiRoutes/getSelectedSeller.js.map +0 -1
  188. package/dist/esm/apiRoutes/handlers/constants.d.ts +0 -1
  189. package/dist/esm/apiRoutes/handlers/constants.js +0 -4
  190. package/dist/esm/apiRoutes/handlers/constants.js.map +0 -1
  191. package/dist/esm/apiRoutes/handlers/creators/afterCallback.d.ts +0 -11
  192. package/dist/esm/apiRoutes/handlers/creators/afterCallback.js +0 -46
  193. package/dist/esm/apiRoutes/handlers/creators/afterCallback.js.map +0 -1
  194. package/dist/esm/apiRoutes/handlers/creators/error.d.ts +0 -8
  195. package/dist/esm/apiRoutes/handlers/creators/error.js +0 -76
  196. package/dist/esm/apiRoutes/handlers/creators/error.js.map +0 -1
  197. package/dist/esm/apiRoutes/handlers/creators/login.d.ts +0 -2
  198. package/dist/esm/apiRoutes/handlers/creators/login.js +0 -25
  199. package/dist/esm/apiRoutes/handlers/creators/login.js.map +0 -1
  200. package/dist/esm/apiRoutes/handlers/creators/logout.d.ts +0 -2
  201. package/dist/esm/apiRoutes/handlers/creators/logout.js +0 -71
  202. package/dist/esm/apiRoutes/handlers/creators/logout.js.map +0 -1
  203. package/dist/esm/apiRoutes/handlers/creators/token.d.ts +0 -12
  204. package/dist/esm/apiRoutes/handlers/creators/token.js +0 -68
  205. package/dist/esm/apiRoutes/handlers/creators/token.js.map +0 -1
  206. package/dist/esm/apiRoutes/handlers/creators/types.d.ts +0 -10
  207. package/dist/esm/apiRoutes/handlers/index.d.ts +0 -6
  208. package/dist/esm/apiRoutes/handlers/index.js +0 -30
  209. package/dist/esm/apiRoutes/handlers/index.js.map +0 -1
  210. package/dist/esm/apiRoutes/index.d.ts +0 -1
  211. package/dist/esm/apiRoutes/mapLegacyVehicleTypeGroup.d.ts +0 -2
  212. package/dist/esm/apiRoutes/mapLegacyVehicleTypeGroup.js +0 -13
  213. package/dist/esm/apiRoutes/mapLegacyVehicleTypeGroup.js.map +0 -1
  214. package/dist/esm/contexts/Auth.d.ts +0 -25
  215. package/dist/esm/contexts/Auth.js +0 -259
  216. package/dist/esm/contexts/Auth.js.map +0 -1
  217. package/dist/esm/contexts/__tests__/AuthTest.d.ts +0 -1
  218. package/dist/esm/contexts/index.d.ts +0 -1
  219. package/dist/esm/edge.d.ts +0 -1
  220. package/dist/esm/edge.js +0 -2
  221. package/dist/esm/edge.js.map +0 -1
  222. package/dist/esm/fixtures/jwt.d.ts +0 -1
  223. package/dist/esm/getServerAuthProps/app.d.ts +0 -14
  224. package/dist/esm/getServerAuthProps/app.js +0 -62
  225. package/dist/esm/getServerAuthProps/app.js.map +0 -1
  226. package/dist/esm/getServerAuthProps/getAuthProps.d.ts +0 -13
  227. package/dist/esm/getServerAuthProps/getAuthProps.js +0 -52
  228. package/dist/esm/getServerAuthProps/getAuthProps.js.map +0 -1
  229. package/dist/esm/getServerAuthProps/index.d.ts +0 -3
  230. package/dist/esm/getServerAuthProps/pages.d.ts +0 -22
  231. package/dist/esm/getServerAuthProps/pages.js +0 -61
  232. package/dist/esm/getServerAuthProps/pages.js.map +0 -1
  233. package/dist/esm/getServerAuthProps/types.d.ts +0 -2
  234. package/dist/esm/hooks/useInterval.d.ts +0 -6
  235. package/dist/esm/hooks/useInterval.js +0 -23
  236. package/dist/esm/hooks/useInterval.js.map +0 -1
  237. package/dist/esm/index.d.ts +0 -5
  238. package/dist/esm/lib/buildInstanceKey.d.ts +0 -6
  239. package/dist/esm/lib/buildInstanceKey.js +0 -7
  240. package/dist/esm/lib/buildInstanceKey.js.map +0 -1
  241. package/dist/esm/lib/edge/getAuth0Instance.d.ts +0 -3
  242. package/dist/esm/lib/edge/getAuth0Instance.js +0 -29
  243. package/dist/esm/lib/edge/getAuth0Instance.js.map +0 -1
  244. package/dist/esm/lib/enrichUser/auth0.d.ts +0 -6
  245. package/dist/esm/lib/enrichUser/auth0.js +0 -38
  246. package/dist/esm/lib/enrichUser/auth0.js.map +0 -1
  247. package/dist/esm/lib/enrichUser/session.d.ts +0 -7
  248. package/dist/esm/lib/enrichUser/session.js +0 -57
  249. package/dist/esm/lib/enrichUser/session.js.map +0 -1
  250. package/dist/esm/lib/request/getAccessToken.d.ts +0 -30
  251. package/dist/esm/lib/request/getAccessToken.js +0 -128
  252. package/dist/esm/lib/request/getAccessToken.js.map +0 -1
  253. package/dist/esm/lib/request/getAuth0Instance.d.ts +0 -3
  254. package/dist/esm/lib/request/getAuth0Instance.js +0 -29
  255. package/dist/esm/lib/request/getAuth0Instance.js.map +0 -1
  256. package/dist/esm/lib/request/getUserAndAccessToken.d.ts +0 -21
  257. package/dist/esm/lib/request/getUserAndAccessToken.js +0 -64
  258. package/dist/esm/lib/request/getUserAndAccessToken.js.map +0 -1
  259. package/dist/esm/lib/request/inFlightAccessTokenCache.d.ts +0 -8
  260. package/dist/esm/lib/request/inFlightAccessTokenCache.js +0 -4
  261. package/dist/esm/lib/request/inFlightAccessTokenCache.js.map +0 -1
  262. package/dist/esm/lib/request/isLoggedIn.d.ts +0 -14
  263. package/dist/esm/lib/request/isLoggedIn.js +0 -24
  264. package/dist/esm/lib/request/isLoggedIn.js.map +0 -1
  265. package/dist/esm/lib/request/sessionCallbackHandler.d.ts +0 -17
  266. package/dist/esm/lib/request/sessionCallbackHandler.js +0 -72
  267. package/dist/esm/lib/request/sessionCallbackHandler.js.map +0 -1
  268. package/dist/esm/middleware.d.ts +0 -12
  269. package/dist/esm/middleware.js +0 -73
  270. package/dist/esm/middleware.js.map +0 -1
  271. package/dist/esm/node_modules/tslib/tslib.es6.js +0 -95
  272. package/dist/esm/node_modules/tslib/tslib.es6.js.map +0 -1
  273. package/dist/esm/types/brand.js +0 -8
  274. package/dist/esm/types/brand.js.map +0 -1
  275. package/dist/sessionUser-DV1lFwq8.d.ts +0 -92
  276. package/dist/types-QCN7bglM.d.ts +0 -28
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
4
3
  var user = require('../types/auth0/user.js');
5
4
  var entitlements = require('./entitlements.js');
6
5
 
7
- var shared = {
6
+ const shared = {
8
7
  email_verified: true,
9
8
  sub: 'qwerty',
10
9
  sid: 'asdfg',
@@ -14,59 +13,69 @@ var shared = {
14
13
  managedSellers: [],
15
14
  isMultiTenantUser: false,
16
15
  };
17
- var privateUser = function (props) {
18
- if (props === void 0) { props = {}; }
19
- return (tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign({}, shared), { email: 'amir@private.com', sellerId: '6001', userType: user.Auth0UserType.Private }), props), { entitlements: props.entitlements !== null
20
- ? entitlements.privateSellerEntitlements(props.entitlements)
21
- : null }));
22
- };
23
- var professionalUser = function (props) {
24
- if (props === void 0) { props = {}; }
25
- return (tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign({}, shared), { email: 'amir@professional.com', sellerId: '6001', userType: user.Auth0UserType.Professional }), props), { entitlements: props.entitlements !== null
26
- ? entitlements.professionalSellerEntitlements(props.entitlements)
27
- : null }));
28
- };
29
- var multiTenantUser = function (props) {
30
- if (props === void 0) { props = {}; }
31
- return professionalUser(tslib_es6.__assign({ isMultiTenantUser: true, sellerId: '6001', managedSellers: [
32
- {
33
- id: 6001,
34
- billingAddress: null,
35
- billingCity: 'Zurich',
36
- billingCountryCode: null,
37
- billingName: 'Garage Amir',
38
- billingPostOfficeBox: null,
39
- billingZipCode: '8000',
40
- },
41
- {
42
- id: 6002,
43
- billingAddress: null,
44
- billingCity: 'Basel',
45
- billingCountryCode: null,
46
- billingName: 'Garage Amir',
47
- billingPostOfficeBox: null,
48
- billingZipCode: '4001',
49
- },
50
- {
51
- id: 6003,
52
- billingAddress: null,
53
- billingCity: 'Bern',
54
- billingCountryCode: null,
55
- billingName: 'Garage Amir',
56
- billingPostOfficeBox: null,
57
- billingZipCode: '3001',
58
- },
59
- {
60
- id: 6004,
61
- billingAddress: null,
62
- billingCity: 'Geneva',
63
- billingCountryCode: null,
64
- billingName: 'I am a garage with a very long name to see how line breaks work',
65
- billingPostOfficeBox: null,
66
- billingZipCode: '1201',
67
- },
68
- ] }, props));
69
- };
16
+ const privateUser = (props = {}) => ({
17
+ ...shared,
18
+ email: 'amir@private.com',
19
+ sellerId: '6001',
20
+ userType: user.Auth0UserType.Private,
21
+ ...props,
22
+ entitlements: props.entitlements !== null
23
+ ? entitlements.privateSellerEntitlements(props.entitlements)
24
+ : null,
25
+ });
26
+ const professionalUser = (props = {}) => ({
27
+ ...shared,
28
+ email: 'amir@professional.com',
29
+ sellerId: '6001',
30
+ userType: user.Auth0UserType.Professional,
31
+ ...props,
32
+ entitlements: props.entitlements !== null
33
+ ? entitlements.professionalSellerEntitlements(props.entitlements)
34
+ : null,
35
+ });
36
+ const multiTenantUser = (props = {}) => professionalUser({
37
+ isMultiTenantUser: true,
38
+ sellerId: '6001',
39
+ managedSellers: [
40
+ {
41
+ id: 6001,
42
+ billingAddress: null,
43
+ billingCity: 'Zurich',
44
+ billingCountryCode: null,
45
+ billingName: 'Garage Amir',
46
+ billingPostOfficeBox: null,
47
+ billingZipCode: '8000',
48
+ },
49
+ {
50
+ id: 6002,
51
+ billingAddress: null,
52
+ billingCity: 'Basel',
53
+ billingCountryCode: null,
54
+ billingName: 'Garage Amir',
55
+ billingPostOfficeBox: null,
56
+ billingZipCode: '4001',
57
+ },
58
+ {
59
+ id: 6003,
60
+ billingAddress: null,
61
+ billingCity: 'Bern',
62
+ billingCountryCode: null,
63
+ billingName: 'Garage Amir',
64
+ billingPostOfficeBox: null,
65
+ billingZipCode: '3001',
66
+ },
67
+ {
68
+ id: 6004,
69
+ billingAddress: null,
70
+ billingCity: 'Geneva',
71
+ billingCountryCode: null,
72
+ billingName: 'I am a garage with a very long name to see how line breaks work',
73
+ billingPostOfficeBox: null,
74
+ billingZipCode: '1201',
75
+ },
76
+ ],
77
+ ...props,
78
+ });
70
79
 
71
80
  exports.multiTenantUser = multiTenantUser;
72
81
  exports.privateUser = privateUser;
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../../../../src/fixtures/user.ts"],"sourcesContent":[null],"names":["__assign","Auth0UserType","privateSellerEntitlements","professionalSellerEntitlements"],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sources":["../../../../src/fixtures/user.ts"],"sourcesContent":[null],"names":["Auth0UserType","privateSellerEntitlements","professionalSellerEntitlements"],"mappings":";;;;;AAQA,MAAM,MAAM,GAAG;AACb,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,GAAG,EAAE,QAAQ;AACb,IAAA,GAAG,EAAE,OAAO;AACZ,IAAA,oBAAoB,EAAE,KAAK;AAC3B,IAAA,cAAc,EAAE,KAAK;AACrB,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,iBAAiB,EAAE,KAAK;CACzB;AAEM,MAAM,WAAW,GAAG,CACzB,QAEI,EAAE,MACmB;AACzB,IAAA,GAAG,MAAM;AACT,IAAA,KAAK,EAAE,kBAAkB;AACzB,IAAA,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAEA,kBAAa,CAAC,OAAO;AAC/B,IAAA,GAAG,KAAK;AACR,IAAA,YAAY,EACV,KAAK,CAAC,YAAY,KAAK;AACrB,UAAEC,sCAAyB,CAAC,KAAK,CAAC,YAAY;AAC9C,UAAE,IAAI;AACX,CAAA;AAEM,MAAM,gBAAgB,GAAG,CAC9B,QAA2D,EAAE,MACpC;AACzB,IAAA,GAAG,MAAM;AACT,IAAA,KAAK,EAAE,uBAAuB;AAC9B,IAAA,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAED,kBAAa,CAAC,YAAY;AACpC,IAAA,GAAG,KAAK;AACR,IAAA,YAAY,EACV,KAAK,CAAC,YAAY,KAAK;AACrB,UAAEE,2CAA8B,CAAC,KAAK,CAAC,YAAY;AACnD,UAAE,IAAI;AACX,CAAA;AAEM,MAAM,eAAe,GAAG,CAC7B,KAAA,GAEI,EAAE,KAEN,gBAAgB,CAAC;AACf,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,cAAc,EAAE;AACd,QAAA;AACE,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,cAAc,EAAE,MAAM;AACvB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,cAAc,EAAE,MAAM;AACvB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,WAAW,EAAE,MAAM;AACnB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,cAAc,EAAE,MAAM;AACvB,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,WAAW,EAAE,QAAQ;AACrB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,WAAW,EACT,iEAAiE;AACnE,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,cAAc,EAAE,MAAM;AACvB,SAAA;AACF,KAAA;AACD,IAAA,GAAG,KAAK;AACT,CAAA;;;;;;"}
package/dist/cjs/index.js CHANGED
@@ -1,17 +1,4 @@
1
+ "use strict";
1
2
  'use strict';
2
3
 
3
- var Auth = require('./contexts/Auth.js');
4
- var authLinks = require('./lib/authLinks.js');
5
- var user = require('./types/auth0/user.js');
6
-
7
-
8
-
9
- exports.AuthProvider = Auth.AuthProvider;
10
- exports.useAuthContext = Auth.useAuthContext;
11
- exports.getLoginLink = authLinks.getLoginLink;
12
- exports.getLogoutLink = authLinks.getLogoutLink;
13
- Object.defineProperty(exports, "Auth0UserType", {
14
- enumerable: true,
15
- get: function () { return user.Auth0UserType; }
16
- });
17
4
  //# 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,27 +2,15 @@
2
2
 
3
3
  var i18nPkg = require('@smg-automotive/i18n-pkg');
4
4
 
5
- var getLogoutLink = function (_a) {
6
- var returnTo = _a.returnTo, _b = _a.language, language = _b === void 0 ? i18nPkg.defaultLanguage : _b, auth0Config = _a.auth0Config;
5
+ const getLoginLink = ({ returnTo, language = i18nPkg.defaultLanguage, auth0Config, }) => {
7
6
  if (!auth0Config) {
8
7
  throw new Error('Missing auth0Config');
9
8
  }
10
- var encodedReturnTo = returnTo
11
- ? "&returnTo=".concat(encodeURIComponent(returnTo))
9
+ const encodedReturnTo = returnTo
10
+ ? `&returnTo=${encodeURIComponent(returnTo)}`
12
11
  : '';
13
- return "".concat(auth0Config.logoutEndpoint, "?locale=").concat(language).concat(encodedReturnTo);
14
- };
15
- var getLoginLink = function (_a) {
16
- var returnTo = _a.returnTo, _b = _a.language, language = _b === void 0 ? i18nPkg.defaultLanguage : _b, auth0Config = _a.auth0Config;
17
- if (!auth0Config) {
18
- throw new Error('Missing auth0Config');
19
- }
20
- var encodedReturnTo = returnTo
21
- ? "&returnTo=".concat(encodeURIComponent(returnTo))
22
- : '';
23
- return "".concat(auth0Config.loginEndpoint, "?locale=").concat(language).concat(encodedReturnTo);
12
+ return `${auth0Config.loginEndpoint}?locale=${language}${encodedReturnTo}`;
24
13
  };
25
14
 
26
15
  exports.getLoginLink = getLoginLink;
27
- exports.getLogoutLink = getLogoutLink;
28
16
  //# sourceMappingURL=authLinks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authLinks.js","sources":["../../../../src/lib/authLinks.ts"],"sourcesContent":[null],"names":["defaultLanguage"],"mappings":";;;;AAIO,IAAM,aAAa,GAAG,UAAC,EAQ7B,EAAA;QAPC,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAA,GAAA,EAAA,CAAA,QAA0B,EAA1B,QAAQ,mBAAGA,uBAAe,GAAA,EAAA,EAC1B,WAAW,GAAA,EAAA,CAAA,WAAA;IAMX,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,IAAM,eAAe,GAAG;AACtB,UAAE,YAAA,CAAA,MAAA,CAAa,kBAAkB,CAAC,QAAQ,CAAC;UACzC,EAAE;IAEN,OAAO,EAAA,CAAA,MAAA,CAAG,WAAW,CAAC,cAAc,qBAAW,QAAQ,CAAA,CAAA,MAAA,CAAG,eAAe,CAAE;AAC7E;AAEO,IAAM,YAAY,GAAG,UAAC,EAQ5B,EAAA;QAPC,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,EAAA,GAAA,EAAA,CAAA,QAA0B,EAA1B,QAAQ,mBAAGA,uBAAe,GAAA,EAAA,EAC1B,WAAW,GAAA,EAAA,CAAA,WAAA;IAMX,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,IAAM,eAAe,GAAG;AACtB,UAAE,YAAA,CAAA,MAAA,CAAa,kBAAkB,CAAC,QAAQ,CAAC;UACzC,EAAE;IAEN,OAAO,EAAA,CAAA,MAAA,CAAG,WAAW,CAAC,aAAa,qBAAW,QAAQ,CAAA,CAAA,MAAA,CAAG,eAAe,CAAE;AAC5E;;;;;"}
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,GAKZ,KAAI;IACH,IAAI,CAAC,WAAW,EAAE;AAChB,QAAA,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC;IACxC;IACA,MAAM,eAAe,GAAG;AACtB,UAAE,CAAA,UAAA,EAAa,kBAAkB,CAAC,QAAQ,CAAC,CAAA;UACzC,EAAE;IAEN,OAAO,CAAA,EAAG,WAAW,CAAC,aAAa,WAAW,QAAQ,CAAA,EAAG,eAAe,CAAA,CAAE;AAC5E;;;;"}
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var ensureString = function (value) {
3
+ const ensureString = (value) => {
4
4
  if (typeof value !== 'string') {
5
5
  return '';
6
6
  }
7
7
  return value;
8
8
  };
9
- var ensureSlash = function (path) {
9
+ const ensureSlash = (path) => {
10
10
  if (path.startsWith('/')) {
11
11
  return path;
12
12
  }
13
- return "/".concat(path);
13
+ return `/${path}`;
14
14
  };
15
15
 
16
16
  exports.ensureSlash = ensureSlash;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/lib/utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAO,IAAM,YAAY,GAAG,UAAC,KAAyB,EAAA;AACpD,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,OAAO,KAAK;AACd;AAEO,IAAM,WAAW,GAAG,UAAC,IAAY,EAAA;AACtC,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACxB,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,GAAA,CAAA,MAAA,CAAI,IAAI,CAAE;AACnB;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/lib/utils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAO,MAAM,YAAY,GAAG,CAAC,KAAyB,KAAI;AACxD,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,OAAO,KAAK;AACd;AAEO,MAAM,WAAW,GAAG,CAAC,IAAY,KAAI;AAC1C,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACxB,QAAA,OAAO,IAAI;IACb;IAEA,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;AACnB;;;;;"}
@@ -0,0 +1,8 @@
1
+ import { Auth0Client } from '@auth0/nextjs-auth0/server';
2
+ type GetAuth0InstanceContext = {
3
+ protocol: string;
4
+ host: string;
5
+ isProxied: boolean;
6
+ };
7
+ export declare const getAuth0Instance: ({ protocol, host, isProxied, }: GetAuth0InstanceContext) => Auth0Client;
8
+ export {};
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var server = require('@auth0/nextjs-auth0/server');
4
+ var auth0 = require('../config/auth0.js');
5
+
6
+ const instances = {};
7
+ const buildInstanceKey = ({ host, isProxied, protocol, }) => {
8
+ return `${protocol}-${host}-isProxied-${isProxied}`;
9
+ };
10
+ const getAuth0Instance = ({ protocol, host, isProxied, }) => {
11
+ const key = buildInstanceKey({ host, isProxied, protocol });
12
+ const instance = instances[key];
13
+ if (instance) {
14
+ return instance;
15
+ }
16
+ const auth0Config = auth0.getAuth0Config({ isProxied });
17
+ const appBaseUrl = `${protocol}://${host}`;
18
+ const newInstance = new server.Auth0Client({
19
+ appBaseUrl,
20
+ routes: {
21
+ login: auth0Config.loginEndpoint,
22
+ logout: auth0Config.logoutEndpoint,
23
+ callback: auth0Config.callbackEndpoint,
24
+ },
25
+ session: {
26
+ cookie: {
27
+ name: auth0Config.sessionCookieName,
28
+ },
29
+ },
30
+ authorizationParameters: {
31
+ scope: auth0Config.scopes,
32
+ audience: auth0Config.audience,
33
+ },
34
+ });
35
+ instances[key] = newInstance;
36
+ return newInstance;
37
+ };
38
+
39
+ exports.getAuth0Instance = getAuth0Instance;
40
+ //# sourceMappingURL=getAuth0Instance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuth0Instance.js","sources":["../../../../src/server/getAuth0Instance.ts"],"sourcesContent":[null],"names":["getAuth0Config","Auth0Client"],"mappings":";;;;;AAKA,MAAM,SAAS,GAAmB,EAAE;AAQpC,MAAM,gBAAgB,GAAG,CAAC,EACxB,IAAI,EACJ,SAAS,EACT,QAAQ,GACgB,KAAI;AAC5B,IAAA,OAAO,GAAG,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,WAAA,EAAc,SAAS,EAAE;AACrD,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,SAAS,GACe,KAAiB;AACzC,IAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC3D,IAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;IAC/B,IAAI,QAAQ,EAAE;AACZ,QAAA,OAAO,QAAQ;IACjB;IAEA,MAAM,WAAW,GAAGA,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;AACjD,IAAA,MAAM,UAAU,GAAG,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAI,EAAE;AAC1C,IAAA,MAAM,WAAW,GAAG,IAAIC,kBAAW,CAAC;QAClC,UAAU;AACV,QAAA,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,aAAa;YAChC,MAAM,EAAE,WAAW,CAAC,cAAc;YAClC,QAAQ,EAAE,WAAW,CAAC,gBAAgB;AACvC,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,WAAW,CAAC,iBAAiB;AACpC,aAAA;AACF,SAAA;AACD,QAAA,uBAAuB,EAAE;YACvB,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,QAAQ,EAAE,WAAW,CAAC,QAAQ;AAC/B,SAAA;AACF,KAAA,CAAC;AACF,IAAA,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW;AAC5B,IAAA,OAAO,WAAW;AACpB;;;;"}
@@ -0,0 +1,11 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ import { Language } from '@smg-automotive/i18n-pkg';
3
+ export declare const authMiddleware: ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }: {
4
+ request: NextRequest;
5
+ isProtectedRoute: (path: string) => boolean;
6
+ language: Language;
7
+ host: string;
8
+ protocol: string;
9
+ isProxied: boolean;
10
+ onError?: (error: Error) => void;
11
+ }) => Promise<NextResponse>;
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ var server = require('next/server');
4
+ var authLinks = require('../lib/authLinks.js');
5
+ var auth0 = require('../config/auth0.js');
6
+ var getAuth0Instance = require('./getAuth0Instance.js');
7
+
8
+ const redirectToLogin = ({ auth0Config, language, returnTo, origin, }) => {
9
+ const loginUrl = authLinks.getLoginLink({
10
+ auth0Config,
11
+ language,
12
+ returnTo,
13
+ });
14
+ return server.NextResponse.redirect(new URL(loginUrl, origin), {
15
+ status: 307,
16
+ });
17
+ };
18
+ const isAuthRoute = (pathname, auth0Config) => {
19
+ const { loginEndpoint, logoutEndpoint, callbackEndpoint, userProfileEndpoint, tokenEndpoint, } = auth0Config;
20
+ return [
21
+ loginEndpoint,
22
+ logoutEndpoint,
23
+ callbackEndpoint,
24
+ userProfileEndpoint,
25
+ tokenEndpoint,
26
+ ].includes(pathname);
27
+ };
28
+ const authMiddleware = async ({ request, isProtectedRoute, language, host, protocol, isProxied, onError, }) => {
29
+ const { origin, pathname, search } = request.nextUrl;
30
+ const auth0Instance = getAuth0Instance.getAuth0Instance({ host, protocol, isProxied });
31
+ const auth0Config = auth0.getAuth0Config({ isProxied });
32
+ const isAuthErrorRoute = pathname.endsWith(auth0Config.globalAuthErrorPath);
33
+ const authResponse = await auth0Instance.middleware(request);
34
+ if (isAuthErrorRoute ||
35
+ isAuthRoute(pathname, auth0Config) ||
36
+ !isProtectedRoute(pathname)) {
37
+ return authResponse;
38
+ }
39
+ const session = await auth0Instance.getSession(request);
40
+ if (!session) {
41
+ return redirectToLogin({
42
+ auth0Config,
43
+ language,
44
+ returnTo: `${pathname}${search}`,
45
+ origin,
46
+ });
47
+ }
48
+ try {
49
+ // TODO: should this use a helper
50
+ await auth0Instance.getAccessToken(request, authResponse);
51
+ }
52
+ catch (error) {
53
+ const authError = error;
54
+ onError?.(authError);
55
+ return redirectToLogin({
56
+ auth0Config,
57
+ language,
58
+ returnTo: `${pathname}${search}`,
59
+ origin,
60
+ });
61
+ }
62
+ const responseWithCombinedHeaders = server.NextResponse.next({
63
+ request: {
64
+ headers: request.headers,
65
+ },
66
+ });
67
+ authResponse.headers.forEach((value, key) => {
68
+ responseWithCombinedHeaders.headers.set(key, value);
69
+ });
70
+ return responseWithCombinedHeaders;
71
+ };
72
+
73
+ exports.authMiddleware = authMiddleware;
74
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sources":["../../../../src/server/middleware.ts"],"sourcesContent":[null],"names":["getLoginLink","NextResponse","getAuth0Instance","getAuth0Config"],"mappings":";;;;;;;AAWA,MAAM,eAAe,GAAG,CAAC,EACvB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAM,GAMP,KAAI;IACH,MAAM,QAAQ,GAAGA,sBAAY,CAAC;QAC5B,WAAW;QACX,QAAQ;QACR,QAAQ;AACT,KAAA,CAAC;IAEF,OAAOC,mBAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;AACtD,QAAA,MAAM,EAAE,GAAG;AACZ,KAAA,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,WAAwB,KAAI;AACjE,IAAA,MAAM,EACJ,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,GAAG,WAAW;IAEf,OAAO;QACL,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,mBAAmB;QACnB,aAAa;AACd,KAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACtB,CAAC;MAEY,cAAc,GAAG,OAAO,EACnC,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,GASR,KAA2B;IAC1B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO;AACpD,IAAA,MAAM,aAAa,GAAGC,iCAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAErE,MAAM,WAAW,GAAGC,oBAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAE3E,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;AAE5D,IAAA,IACE,gBAAgB;AAChB,QAAA,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC;AAClC,QAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAC3B;AACA,QAAA,OAAO,YAAY;IACrB;IAEA,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC;IAEvD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,eAAe,CAAC;YACrB,WAAW;YACX,QAAQ;AACR,YAAA,QAAQ,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;YAChC,MAAM;AACP,SAAA,CAAC;IACJ;AAEA,IAAA,IAAI;;QAEF,MAAM,aAAa,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC;IAC3D;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,SAAS,GAAG,KAAiB;AACnC,QAAA,OAAO,GAAG,SAAS,CAAC;AAEpB,QAAA,OAAO,eAAe,CAAC;YACrB,WAAW;YACX,QAAQ;AACR,YAAA,QAAQ,EAAE,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAE;YAChC,MAAM;AACP,SAAA,CAAC;IACJ;AAEA,IAAA,MAAM,2BAA2B,GAAGF,mBAAY,CAAC,IAAI,CAAC;AACpD,QAAA,OAAO,EAAE;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;AACzB,SAAA;AACF,KAAA,CAAC;IACF,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;QAC1C,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACrD,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,2BAA2B;AACpC;;;;"}
@@ -1,4 +1 @@
1
- export * from './getServerAuthProps';
2
- export * from './apiRoutes';
3
- export * from './lib/request/getUserAndAccessToken';
4
- export * from './lib/request/isLoggedIn';
1
+ export { authMiddleware } from './server/middleware';
@@ -1,17 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var pages = require('./getServerAuthProps/pages.js');
4
- var app = require('./getServerAuthProps/app.js');
5
- var index = require('./apiRoutes/handlers/index.js');
6
- var getUserAndAccessToken = require('./lib/request/getUserAndAccessToken.js');
7
- var isLoggedIn = require('./lib/request/isLoggedIn.js');
3
+ var middleware = require('./server/middleware.js');
8
4
 
9
5
 
10
6
 
11
- exports.getServerAuthPropsPages = pages.getServerAuthProps;
12
- exports.getServerAuthPropsApp = app.getServerAuthProps;
13
- exports.apiRoutesHandler = index.apiRoutesHandler;
14
- exports.getUser = getUserAndAccessToken.getUser;
15
- exports.getUserAndAccessToken = getUserAndAccessToken.getUserAndAccessToken;
16
- exports.isLoggedIn = isLoggedIn.isLoggedIn;
7
+ exports.authMiddleware = middleware.authMiddleware;
17
8
  //# 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":";;;;;;"}
@@ -22,4 +22,6 @@ export type Auth0Config = {
22
22
  scopes: string;
23
23
  globalAuthErrorPath: string;
24
24
  authCookieNames: string[];
25
+ sessionCookieName: string;
26
+ audience: string;
25
27
  };
@@ -11,4 +11,6 @@ export type Auth0JWTPayload = {
11
11
  azp: string;
12
12
  user_id: string;
13
13
  permissions: string[];
14
+ isMultiTenantUser: boolean;
15
+ isImpersonated?: boolean;
14
16
  };
@@ -6,5 +6,4 @@ export type Auth0User = {
6
6
  email: string;
7
7
  email_verified: boolean;
8
8
  sub: string;
9
- sid: string;
10
9
  };
@@ -3,6 +3,6 @@ export type CookieOptions = {
3
3
  httpOnly: boolean;
4
4
  maxAge: number;
5
5
  secure: boolean;
6
- sameSite: string;
6
+ sameSite: boolean | 'lax' | 'strict' | 'none' | undefined;
7
7
  path: string;
8
8
  };
@@ -1,15 +1,16 @@
1
- import { __assign } from '../node_modules/tslib/tslib.es6.js';
2
1
  import { ensureString, ensureSlash } from '../lib/utils.js';
3
2
 
4
- var isDevelopmentEnvironment = process.env.CONFIG_ENV === 'development';
5
- var proxyPathSegment = ensureString(process.env.PROXY_REQUEST_PATH_SEGMENT);
6
- var legacyAccessTokenName = ensureString(process.env.AUTH0_CUSTOM_LEGACY_ACCESS_TOKEN_NAME);
7
- var legacyRefreshTokenName = ensureString(process.env.AUTH0_CUSTOM_LEGACY_REFRESH_TOKEN_NAME);
8
- var defaultLocale = ensureString(process.env.DEFAULT_LOCALE);
9
- var supportedLocales = ensureString(process.env.SUPPORTED_LOCALES)
3
+ const isDevelopmentEnvironment = process.env.CONFIG_ENV === 'development';
4
+ const proxyPathSegment = ensureString(process.env.PROXY_REQUEST_PATH_SEGMENT);
5
+ const legacyAccessTokenName = ensureString(process.env.AUTH0_CUSTOM_LEGACY_ACCESS_TOKEN_NAME);
6
+ const legacyRefreshTokenName = ensureString(process.env.AUTH0_CUSTOM_LEGACY_REFRESH_TOKEN_NAME);
7
+ const defaultLocale = ensureString(process.env.DEFAULT_LOCALE);
8
+ const supportedLocales = ensureString(process.env.SUPPORTED_LOCALES)
10
9
  .split(',')
11
10
  .filter(Boolean);
12
- var authCookieNames = ensureString(process.env.AUTH0_CUSTOM_AUTH_COOKIE_NAMES)
11
+ const sessionCookieName = ensureString(process.env.AUTH0_SESSION_NAME);
12
+ const audience = ensureString(process.env.AUTH0_AUDIENCE);
13
+ const authCookieNames = ensureString(process.env.AUTH0_CUSTOM_AUTH_COOKIE_NAMES)
13
14
  .split(',')
14
15
  .filter(Boolean);
15
16
  if (!defaultLocale) {
@@ -18,17 +19,19 @@ if (!defaultLocale) {
18
19
  if (supportedLocales.length === 0) {
19
20
  throw new Error('[Auth-package] SUPPORTED_LOCALES is not set');
20
21
  }
21
- var auth0Config = {
22
+ const auth0Config = {
22
23
  // Endpoint where the user gets redirected to auth0 universal login
23
24
  loginEndpoint: '/api/auth/login',
24
25
  // Endpoint where the user gets redirected to auth0 universal logout
25
26
  logoutEndpoint: '/api/auth/logout',
26
27
  // Endpoint to fetch and refresh token
27
- tokenEndpoint: '/api/auth/token',
28
+ // TODO: this is used client side and only configurable via env variable
29
+ tokenEndpoint: '/auth/token',
28
30
  // Endpoint to fetch and refresh token
29
31
  callbackEndpoint: '/api/auth/callback',
30
32
  // Endpoint to fetch user profile
31
- userProfileEndpoint: '/api/auth/me',
33
+ // TODO: this is used client side and only configurable via env variable
34
+ userProfileEndpoint: '/auth/profile',
32
35
  // Interval delay to check if the token needs to be refreshed
33
36
  intervalDelayInMs: 10000,
34
37
  // If the token is valid for less than the specified time to app will rotate the token
@@ -55,7 +58,7 @@ var auth0Config = {
55
58
  httpOnly: true,
56
59
  maxAge: 30 * 24 * 60 * 60,
57
60
  secure: true,
58
- sameSite: 'Lax',
61
+ sameSite: 'lax',
59
62
  path: '/',
60
63
  },
61
64
  // A domain wide cross project cookie storing impersonated sellerId
@@ -65,7 +68,7 @@ var auth0Config = {
65
68
  httpOnly: true,
66
69
  maxAge: 1 * 60 * 60,
67
70
  secure: true,
68
- sameSite: 'Lax',
71
+ sameSite: 'lax',
69
72
  path: '/',
70
73
  },
71
74
  // Auth scopes
@@ -73,11 +76,14 @@ var auth0Config = {
73
76
  // Global path to redirect to for auth errors must only be implemented by one project and exposed trough the proxy
74
77
  globalAuthErrorPath: '/errors/auth',
75
78
  // List of auth related cookies to be cleared on logout
76
- authCookieNames: authCookieNames,
79
+ authCookieNames,
80
+ // Name of the session cookie
81
+ sessionCookieName,
82
+ // Audience of the auth0 application
83
+ audience,
77
84
  };
78
- var getAuth0Config = function (_a) {
79
- var isProxied = _a.isProxied;
80
- var runtimeConfig = __assign({}, auth0Config);
85
+ const getAuth0Config = ({ isProxied, }) => {
86
+ const runtimeConfig = { ...auth0Config };
81
87
  runtimeConfig.proxyPathSegment = ensureSlash(proxyPathSegment);
82
88
  runtimeConfig.legacyAccessTokenName = legacyAccessTokenName;
83
89
  runtimeConfig.legacyRefreshTokenName = legacyRefreshTokenName;
@@ -85,7 +91,14 @@ var getAuth0Config = function (_a) {
85
91
  if (!isProxied) {
86
92
  return runtimeConfig;
87
93
  }
88
- return __assign(__assign({}, runtimeConfig), { loginEndpoint: "".concat(runtimeConfig.proxyPathSegment).concat(runtimeConfig.loginEndpoint), logoutEndpoint: "".concat(runtimeConfig.proxyPathSegment).concat(runtimeConfig.logoutEndpoint), tokenEndpoint: "".concat(runtimeConfig.proxyPathSegment).concat(runtimeConfig.tokenEndpoint), userProfileEndpoint: "".concat(runtimeConfig.proxyPathSegment).concat(runtimeConfig.userProfileEndpoint), callbackEndpoint: "".concat(runtimeConfig.proxyPathSegment).concat(runtimeConfig.callbackEndpoint) });
94
+ return {
95
+ ...runtimeConfig,
96
+ loginEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.loginEndpoint}`,
97
+ logoutEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.logoutEndpoint}`,
98
+ tokenEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.tokenEndpoint}`,
99
+ userProfileEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.userProfileEndpoint}`,
100
+ callbackEndpoint: `${runtimeConfig.proxyPathSegment}${runtimeConfig.callbackEndpoint}`,
101
+ };
89
102
  };
90
103
 
91
104
  export { getAuth0Config };
@@ -1 +1 @@
1
- {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth0.js","sources":["../../../../src/config/auth0.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}