@shopify/shopify-app-remix 2.8.0 → 2.8.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 (831) hide show
  1. package/{build → dist}/cjs/react/components/AppProvider/AppProvider.js +4 -26
  2. package/dist/cjs/react/components/AppProvider/AppProvider.js.map +1 -0
  3. package/{build → dist}/cjs/react/components/AppProxyForm/AppProxyForm.js +8 -17
  4. package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js.map +1 -0
  5. package/{build → dist}/cjs/react/components/AppProxyLink/AppProxyLink.js +8 -17
  6. package/dist/cjs/react/components/AppProxyLink/AppProxyLink.js.map +1 -0
  7. package/{build → dist}/cjs/react/components/AppProxyProvider/AppProxyProvider.js +20 -34
  8. package/dist/cjs/react/components/AppProxyProvider/AppProxyProvider.js.map +1 -0
  9. package/dist/cjs/react/components/RemixPolarisLink.js +10 -0
  10. package/dist/cjs/react/components/RemixPolarisLink.js.map +1 -0
  11. package/{build → dist}/cjs/react/const.js +1 -2
  12. package/dist/cjs/react/const.js.map +1 -0
  13. package/{build → dist}/cjs/react/index.js +1 -2
  14. package/dist/cjs/react/index.js.map +1 -0
  15. package/{build → dist}/cjs/server/adapters/node/index.js +4 -8
  16. package/dist/cjs/server/adapters/node/index.js.map +1 -0
  17. package/{build → dist}/cjs/server/adapters/vercel/index.js +3 -2
  18. package/dist/cjs/server/adapters/vercel/index.js.map +1 -0
  19. package/dist/cjs/server/authenticate/admin/authenticate.js +131 -0
  20. package/dist/cjs/server/authenticate/admin/authenticate.js.map +1 -0
  21. package/dist/cjs/server/authenticate/admin/billing/cancel.js +35 -0
  22. package/dist/cjs/server/authenticate/admin/billing/cancel.js.map +1 -0
  23. package/dist/cjs/server/authenticate/admin/billing/check.js +35 -0
  24. package/dist/cjs/server/authenticate/admin/billing/check.js.map +1 -0
  25. package/dist/cjs/server/authenticate/admin/billing/request.js +75 -0
  26. package/dist/cjs/server/authenticate/admin/billing/request.js.map +1 -0
  27. package/dist/cjs/server/authenticate/admin/billing/require.js +45 -0
  28. package/dist/cjs/server/authenticate/admin/billing/require.js.map +1 -0
  29. package/dist/cjs/server/authenticate/admin/helpers/begin-auth.js +14 -0
  30. package/dist/cjs/server/authenticate/admin/helpers/begin-auth.js.map +1 -0
  31. package/{build → dist}/cjs/server/authenticate/admin/helpers/create-admin-api-context.js +6 -7
  32. package/dist/cjs/server/authenticate/admin/helpers/create-admin-api-context.js.map +1 -0
  33. package/dist/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +16 -0
  34. package/dist/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js.map +1 -0
  35. package/dist/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +19 -0
  36. package/dist/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js.map +1 -0
  37. package/dist/cjs/server/authenticate/admin/helpers/handle-client-error.js +30 -0
  38. package/dist/cjs/server/authenticate/admin/helpers/handle-client-error.js.map +1 -0
  39. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-auth-page.js +26 -0
  40. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-auth-page.js.map +1 -0
  41. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js +19 -0
  42. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js.map +1 -0
  43. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +17 -0
  44. package/dist/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js.map +1 -0
  45. package/{build/ts → dist/cjs}/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js +8 -8
  46. package/dist/cjs/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js.map +1 -0
  47. package/dist/cjs/server/authenticate/admin/helpers/redirect-with-exitiframe.js +21 -0
  48. package/dist/cjs/server/authenticate/admin/helpers/redirect-with-exitiframe.js.map +1 -0
  49. package/dist/cjs/server/authenticate/admin/helpers/redirect.js +62 -0
  50. package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -0
  51. package/dist/cjs/server/authenticate/admin/helpers/render-app-bridge.js +25 -0
  52. package/dist/cjs/server/authenticate/admin/helpers/render-app-bridge.js.map +1 -0
  53. package/dist/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +17 -0
  54. package/dist/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +1 -0
  55. package/{build/ts → dist/cjs}/server/authenticate/admin/helpers/validate-redirect-url.js +14 -15
  56. package/dist/cjs/server/authenticate/admin/helpers/validate-redirect-url.js.map +1 -0
  57. package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +27 -0
  58. package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -0
  59. package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js +225 -0
  60. package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -0
  61. package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js +110 -0
  62. package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js.map +1 -0
  63. package/{build → dist}/cjs/server/authenticate/const.js +2 -3
  64. package/dist/cjs/server/authenticate/const.js.map +1 -0
  65. package/dist/cjs/server/authenticate/flow/authenticate.js +53 -0
  66. package/dist/cjs/server/authenticate/flow/authenticate.js.map +1 -0
  67. package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js +59 -0
  68. package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js.map +1 -0
  69. package/dist/cjs/server/authenticate/helpers/add-response-headers.js +27 -0
  70. package/dist/cjs/server/authenticate/helpers/add-response-headers.js.map +1 -0
  71. package/{build → dist}/cjs/server/authenticate/helpers/app-bridge-url.js +3 -4
  72. package/dist/cjs/server/authenticate/helpers/app-bridge-url.js.map +1 -0
  73. package/dist/cjs/server/authenticate/helpers/ensure-cors-headers.js +25 -0
  74. package/dist/cjs/server/authenticate/helpers/ensure-cors-headers.js.map +1 -0
  75. package/dist/cjs/server/authenticate/helpers/get-session-token-header.js +14 -0
  76. package/dist/cjs/server/authenticate/helpers/get-session-token-header.js.map +1 -0
  77. package/dist/cjs/server/authenticate/helpers/idempotent-promise-handler.js +36 -0
  78. package/dist/cjs/server/authenticate/helpers/idempotent-promise-handler.js.map +1 -0
  79. package/dist/cjs/server/authenticate/helpers/reject-bot-request.js +13 -0
  80. package/dist/cjs/server/authenticate/helpers/reject-bot-request.js.map +1 -0
  81. package/dist/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js +20 -0
  82. package/dist/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js.map +1 -0
  83. package/{build/ts → dist/cjs}/server/authenticate/helpers/respond-to-options-request.js +7 -6
  84. package/dist/cjs/server/authenticate/helpers/respond-to-options-request.js.map +1 -0
  85. package/dist/cjs/server/authenticate/helpers/validate-session-token.js +24 -0
  86. package/dist/cjs/server/authenticate/helpers/validate-session-token.js.map +1 -0
  87. package/dist/cjs/server/authenticate/login/login.js +43 -0
  88. package/dist/cjs/server/authenticate/login/login.js.map +1 -0
  89. package/dist/cjs/server/authenticate/public/appProxy/authenticate.js +95 -0
  90. package/dist/cjs/server/authenticate/public/appProxy/authenticate.js.map +1 -0
  91. package/dist/cjs/server/authenticate/public/checkout/authenticate.js +33 -0
  92. package/dist/cjs/server/authenticate/public/checkout/authenticate.js.map +1 -0
  93. package/{build/ts → dist/cjs}/server/authenticate/public/factory.js +12 -11
  94. package/dist/cjs/server/authenticate/public/factory.js.map +1 -0
  95. package/dist/cjs/server/authenticate/webhooks/authenticate.js +85 -0
  96. package/dist/cjs/server/authenticate/webhooks/authenticate.js.map +1 -0
  97. package/dist/cjs/server/authenticate/webhooks/register.js +45 -0
  98. package/dist/cjs/server/authenticate/webhooks/register.js.map +1 -0
  99. package/dist/cjs/server/boundary/error.js +14 -0
  100. package/dist/cjs/server/boundary/error.js.map +1 -0
  101. package/dist/cjs/server/boundary/headers.js +16 -0
  102. package/dist/cjs/server/boundary/headers.js.map +1 -0
  103. package/{build/ts → dist/cjs}/server/boundary/index.js +11 -9
  104. package/dist/cjs/server/boundary/index.js.map +1 -0
  105. package/dist/cjs/server/clients/admin/factory.js +18 -0
  106. package/dist/cjs/server/clients/admin/factory.js.map +1 -0
  107. package/dist/cjs/server/clients/admin/graphql.js +32 -0
  108. package/dist/cjs/server/clients/admin/graphql.js.map +1 -0
  109. package/dist/cjs/server/clients/admin/rest.js +121 -0
  110. package/dist/cjs/server/clients/admin/rest.js.map +1 -0
  111. package/dist/cjs/server/clients/storefront/factory.js +22 -0
  112. package/dist/cjs/server/clients/storefront/factory.js.map +1 -0
  113. package/dist/cjs/server/errors.js +9 -0
  114. package/dist/cjs/server/errors.js.map +1 -0
  115. package/{build/ts → dist/cjs}/server/future/flags.js +5 -7
  116. package/dist/cjs/server/future/flags.js.map +1 -0
  117. package/dist/cjs/server/index.js +46 -0
  118. package/dist/cjs/server/index.js.map +1 -0
  119. package/dist/cjs/server/override-logger.js +33 -0
  120. package/dist/cjs/server/override-logger.js.map +1 -0
  121. package/dist/cjs/server/shopify-app.js +147 -0
  122. package/dist/cjs/server/shopify-app.js.map +1 -0
  123. package/dist/cjs/server/types.js +16 -0
  124. package/dist/cjs/server/types.js.map +1 -0
  125. package/dist/cjs/server/unauthenticated/admin/factory.js +21 -0
  126. package/dist/cjs/server/unauthenticated/admin/factory.js.map +1 -0
  127. package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js +10 -0
  128. package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js.map +1 -0
  129. package/dist/cjs/server/unauthenticated/storefront/factory.js +21 -0
  130. package/dist/cjs/server/unauthenticated/storefront/factory.js.map +1 -0
  131. package/dist/cjs/server/version.js +6 -0
  132. package/dist/cjs/server/version.js.map +1 -0
  133. package/{build/ts/react/components/AppProvider/AppProvider.js → dist/esm/react/components/AppProvider/AppProvider.mjs} +11 -13
  134. package/dist/esm/react/components/AppProvider/AppProvider.mjs.map +1 -0
  135. package/{build/ts/react/components/AppProxyForm/AppProxyForm.js → dist/esm/react/components/AppProxyForm/AppProxyForm.mjs} +11 -13
  136. package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs.map +1 -0
  137. package/{build/ts/react/components/AppProxyLink/AppProxyLink.js → dist/esm/react/components/AppProxyLink/AppProxyLink.mjs} +10 -12
  138. package/dist/esm/react/components/AppProxyLink/AppProxyLink.mjs.map +1 -0
  139. package/{build/ts/react/components/AppProxyProvider/AppProxyProvider.js → dist/esm/react/components/AppProxyProvider/AppProxyProvider.mjs} +15 -18
  140. package/dist/esm/react/components/AppProxyProvider/AppProxyProvider.mjs.map +1 -0
  141. package/dist/esm/react/components/RemixPolarisLink.mjs +8 -0
  142. package/dist/esm/react/components/RemixPolarisLink.mjs.map +1 -0
  143. package/dist/esm/react/const.mjs +4 -0
  144. package/dist/esm/react/const.mjs.map +1 -0
  145. package/dist/esm/react/index.mjs +5 -0
  146. package/dist/esm/react/index.mjs.map +1 -0
  147. package/dist/esm/server/adapters/node/index.mjs +16 -0
  148. package/dist/esm/server/adapters/node/index.mjs.map +1 -0
  149. package/dist/esm/server/adapters/vercel/index.mjs +11 -0
  150. package/dist/esm/server/adapters/vercel/index.mjs.map +1 -0
  151. package/dist/esm/server/authenticate/admin/authenticate.mjs +129 -0
  152. package/dist/esm/server/authenticate/admin/authenticate.mjs.map +1 -0
  153. package/dist/esm/server/authenticate/admin/billing/cancel.mjs +33 -0
  154. package/dist/esm/server/authenticate/admin/billing/cancel.mjs.map +1 -0
  155. package/dist/esm/server/authenticate/admin/billing/check.mjs +33 -0
  156. package/dist/esm/server/authenticate/admin/billing/check.mjs.map +1 -0
  157. package/dist/esm/server/authenticate/admin/billing/request.mjs +73 -0
  158. package/dist/esm/server/authenticate/admin/billing/request.mjs.map +1 -0
  159. package/dist/esm/server/authenticate/admin/billing/require.mjs +43 -0
  160. package/dist/esm/server/authenticate/admin/billing/require.mjs.map +1 -0
  161. package/dist/esm/server/authenticate/admin/helpers/begin-auth.mjs +12 -0
  162. package/dist/esm/server/authenticate/admin/helpers/begin-auth.mjs.map +1 -0
  163. package/dist/esm/server/authenticate/admin/helpers/create-admin-api-context.mjs +12 -0
  164. package/dist/esm/server/authenticate/admin/helpers/create-admin-api-context.mjs.map +1 -0
  165. package/dist/esm/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.mjs +14 -0
  166. package/dist/esm/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.mjs.map +1 -0
  167. package/dist/esm/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.mjs +17 -0
  168. package/dist/esm/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.mjs.map +1 -0
  169. package/dist/esm/server/authenticate/admin/helpers/handle-client-error.mjs +28 -0
  170. package/dist/esm/server/authenticate/admin/helpers/handle-client-error.mjs.map +1 -0
  171. package/dist/esm/server/authenticate/admin/helpers/redirect-to-auth-page.mjs +24 -0
  172. package/dist/esm/server/authenticate/admin/helpers/redirect-to-auth-page.mjs.map +1 -0
  173. package/dist/esm/server/authenticate/admin/helpers/redirect-to-bounce-page.mjs +17 -0
  174. package/dist/esm/server/authenticate/admin/helpers/redirect-to-bounce-page.mjs.map +1 -0
  175. package/dist/esm/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.mjs +15 -0
  176. package/dist/esm/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.mjs.map +1 -0
  177. package/dist/esm/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.mjs +15 -0
  178. package/dist/esm/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.mjs.map +1 -0
  179. package/dist/esm/server/authenticate/admin/helpers/redirect-with-exitiframe.mjs +19 -0
  180. package/dist/esm/server/authenticate/admin/helpers/redirect-with-exitiframe.mjs.map +1 -0
  181. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +60 -0
  182. package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -0
  183. package/dist/esm/server/authenticate/admin/helpers/render-app-bridge.mjs +23 -0
  184. package/dist/esm/server/authenticate/admin/helpers/render-app-bridge.mjs.map +1 -0
  185. package/dist/esm/server/authenticate/admin/helpers/trigger-after-auth-hook.mjs +15 -0
  186. package/dist/esm/server/authenticate/admin/helpers/trigger-after-auth-hook.mjs.map +1 -0
  187. package/dist/esm/server/authenticate/admin/helpers/validate-redirect-url.mjs +46 -0
  188. package/dist/esm/server/authenticate/admin/helpers/validate-redirect-url.mjs.map +1 -0
  189. package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs +25 -0
  190. package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs.map +1 -0
  191. package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs +223 -0
  192. package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs.map +1 -0
  193. package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs +108 -0
  194. package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs.map +1 -0
  195. package/dist/esm/server/authenticate/const.mjs +8 -0
  196. package/dist/esm/server/authenticate/const.mjs.map +1 -0
  197. package/dist/esm/server/authenticate/flow/authenticate.mjs +51 -0
  198. package/dist/esm/server/authenticate/flow/authenticate.mjs.map +1 -0
  199. package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs +57 -0
  200. package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs.map +1 -0
  201. package/dist/esm/server/authenticate/helpers/add-response-headers.mjs +24 -0
  202. package/dist/esm/server/authenticate/helpers/add-response-headers.mjs.map +1 -0
  203. package/dist/esm/server/authenticate/helpers/app-bridge-url.mjs +12 -0
  204. package/dist/esm/server/authenticate/helpers/app-bridge-url.mjs.map +1 -0
  205. package/dist/esm/server/authenticate/helpers/ensure-cors-headers.mjs +23 -0
  206. package/dist/esm/server/authenticate/helpers/ensure-cors-headers.mjs.map +1 -0
  207. package/dist/esm/server/authenticate/helpers/get-session-token-header.mjs +11 -0
  208. package/dist/esm/server/authenticate/helpers/get-session-token-header.mjs.map +1 -0
  209. package/dist/esm/server/authenticate/helpers/idempotent-promise-handler.mjs +34 -0
  210. package/dist/esm/server/authenticate/helpers/idempotent-promise-handler.mjs.map +1 -0
  211. package/dist/esm/server/authenticate/helpers/reject-bot-request.mjs +11 -0
  212. package/dist/esm/server/authenticate/helpers/reject-bot-request.mjs.map +1 -0
  213. package/dist/esm/server/authenticate/helpers/respond-to-invalid-session-token.mjs +18 -0
  214. package/dist/esm/server/authenticate/helpers/respond-to-invalid-session-token.mjs.map +1 -0
  215. package/dist/esm/server/authenticate/helpers/respond-to-options-request.mjs +16 -0
  216. package/dist/esm/server/authenticate/helpers/respond-to-options-request.mjs.map +1 -0
  217. package/dist/esm/server/authenticate/helpers/validate-session-token.mjs +22 -0
  218. package/dist/esm/server/authenticate/helpers/validate-session-token.mjs.map +1 -0
  219. package/dist/esm/server/authenticate/login/login.mjs +41 -0
  220. package/dist/esm/server/authenticate/login/login.mjs.map +1 -0
  221. package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs +93 -0
  222. package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs.map +1 -0
  223. package/dist/esm/server/authenticate/public/checkout/authenticate.mjs +31 -0
  224. package/dist/esm/server/authenticate/public/checkout/authenticate.mjs.map +1 -0
  225. package/dist/esm/server/authenticate/public/factory.mjs +25 -0
  226. package/dist/esm/server/authenticate/public/factory.mjs.map +1 -0
  227. package/dist/esm/server/authenticate/webhooks/authenticate.mjs +83 -0
  228. package/dist/esm/server/authenticate/webhooks/authenticate.mjs.map +1 -0
  229. package/dist/esm/server/authenticate/webhooks/register.mjs +43 -0
  230. package/dist/esm/server/authenticate/webhooks/register.mjs.map +1 -0
  231. package/dist/esm/server/boundary/error.mjs +12 -0
  232. package/dist/esm/server/boundary/error.mjs.map +1 -0
  233. package/dist/esm/server/boundary/headers.mjs +14 -0
  234. package/dist/esm/server/boundary/headers.mjs.map +1 -0
  235. package/dist/esm/server/boundary/index.mjs +41 -0
  236. package/dist/esm/server/boundary/index.mjs.map +1 -0
  237. package/dist/esm/server/clients/admin/factory.mjs +16 -0
  238. package/dist/esm/server/clients/admin/factory.mjs.map +1 -0
  239. package/dist/esm/server/clients/admin/graphql.mjs +30 -0
  240. package/dist/esm/server/clients/admin/graphql.mjs.map +1 -0
  241. package/dist/esm/server/clients/admin/rest.mjs +119 -0
  242. package/dist/esm/server/clients/admin/rest.mjs.map +1 -0
  243. package/dist/esm/server/clients/storefront/factory.mjs +20 -0
  244. package/dist/esm/server/clients/storefront/factory.mjs.map +1 -0
  245. package/dist/esm/server/errors.mjs +7 -0
  246. package/dist/esm/server/errors.mjs.map +1 -0
  247. package/dist/esm/server/future/flags.mjs +20 -0
  248. package/dist/esm/server/future/flags.mjs.map +1 -0
  249. package/dist/esm/server/index.mjs +12 -0
  250. package/dist/esm/server/index.mjs.map +1 -0
  251. package/dist/esm/server/override-logger.mjs +31 -0
  252. package/dist/esm/server/override-logger.mjs.map +1 -0
  253. package/dist/esm/server/shopify-app.mjs +145 -0
  254. package/dist/esm/server/shopify-app.mjs.map +1 -0
  255. package/{build/ts/server/types.js → dist/esm/server/types.mjs} +5 -6
  256. package/dist/esm/server/types.mjs.map +1 -0
  257. package/dist/esm/server/unauthenticated/admin/factory.mjs +19 -0
  258. package/dist/esm/server/unauthenticated/admin/factory.mjs.map +1 -0
  259. package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs +8 -0
  260. package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs.map +1 -0
  261. package/dist/esm/server/unauthenticated/storefront/factory.mjs +19 -0
  262. package/dist/esm/server/unauthenticated/storefront/factory.mjs.map +1 -0
  263. package/dist/esm/server/version.mjs +4 -0
  264. package/dist/esm/server/version.mjs.map +1 -0
  265. package/{build → dist}/ts/react/components/AppProvider/AppProvider.d.ts.map +1 -1
  266. package/{build → dist}/ts/server/clients/admin/types.d.ts +1 -1
  267. package/dist/ts/server/version.d.ts +2 -0
  268. package/dist/tsconfig.build.tsbuildinfo +1 -0
  269. package/package.json +47 -22
  270. package/build/cjs/react/components/RemixPolarisLink.js +0 -22
  271. package/build/cjs/server/authenticate/admin/authenticate.js +0 -170
  272. package/build/cjs/server/authenticate/admin/billing/cancel.js +0 -41
  273. package/build/cjs/server/authenticate/admin/billing/check.js +0 -41
  274. package/build/cjs/server/authenticate/admin/billing/request.js +0 -86
  275. package/build/cjs/server/authenticate/admin/billing/require.js +0 -48
  276. package/build/cjs/server/authenticate/admin/helpers/begin-auth.js +0 -18
  277. package/build/cjs/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +0 -27
  278. package/build/cjs/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +0 -25
  279. package/build/cjs/server/authenticate/admin/helpers/handle-client-error.js +0 -43
  280. package/build/cjs/server/authenticate/admin/helpers/redirect-to-auth-page.js +0 -27
  281. package/build/cjs/server/authenticate/admin/helpers/redirect-to-bounce-page.js +0 -24
  282. package/build/cjs/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +0 -22
  283. package/build/cjs/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js +0 -21
  284. package/build/cjs/server/authenticate/admin/helpers/redirect-with-exitiframe.js +0 -25
  285. package/build/cjs/server/authenticate/admin/helpers/redirect.js +0 -63
  286. package/build/cjs/server/authenticate/admin/helpers/render-app-bridge.js +0 -31
  287. package/build/cjs/server/authenticate/admin/helpers/trigger-after-auth-hook.js +0 -21
  288. package/build/cjs/server/authenticate/admin/helpers/validate-redirect-url.js +0 -45
  289. package/build/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +0 -32
  290. package/build/cjs/server/authenticate/admin/strategies/auth-code-flow.js +0 -334
  291. package/build/cjs/server/authenticate/admin/strategies/token-exchange.js +0 -155
  292. package/build/cjs/server/authenticate/flow/authenticate.js +0 -68
  293. package/build/cjs/server/authenticate/fulfillment-service/authenticate.js +0 -70
  294. package/build/cjs/server/authenticate/helpers/add-response-headers.js +0 -32
  295. package/build/cjs/server/authenticate/helpers/ensure-cors-headers.js +0 -25
  296. package/build/cjs/server/authenticate/helpers/get-session-token-header.js +0 -16
  297. package/build/cjs/server/authenticate/helpers/idempotent-promise-handler.js +0 -40
  298. package/build/cjs/server/authenticate/helpers/reject-bot-request.js +0 -23
  299. package/build/cjs/server/authenticate/helpers/respond-to-invalid-session-token.js +0 -33
  300. package/build/cjs/server/authenticate/helpers/respond-to-options-request.js +0 -19
  301. package/build/cjs/server/authenticate/helpers/validate-session-token.js +0 -33
  302. package/build/cjs/server/authenticate/login/login.js +0 -52
  303. package/build/cjs/server/authenticate/public/appProxy/authenticate.js +0 -117
  304. package/build/cjs/server/authenticate/public/checkout/authenticate.js +0 -39
  305. package/build/cjs/server/authenticate/public/factory.js +0 -31
  306. package/build/cjs/server/authenticate/webhooks/authenticate.js +0 -96
  307. package/build/cjs/server/authenticate/webhooks/register.js +0 -56
  308. package/build/cjs/server/boundary/error.js +0 -18
  309. package/build/cjs/server/boundary/headers.js +0 -18
  310. package/build/cjs/server/boundary/index.js +0 -44
  311. package/build/cjs/server/clients/admin/factory.js +0 -27
  312. package/build/cjs/server/clients/admin/graphql.js +0 -40
  313. package/build/cjs/server/clients/admin/rest.js +0 -145
  314. package/build/cjs/server/clients/storefront/factory.js +0 -28
  315. package/build/cjs/server/errors.js +0 -9
  316. package/build/cjs/server/future/flags.js +0 -28
  317. package/build/cjs/server/index.js +0 -41
  318. package/build/cjs/server/override-logger.js +0 -55
  319. package/build/cjs/server/shopify-app.js +0 -151
  320. package/build/cjs/server/types.js +0 -26
  321. package/build/cjs/server/unauthenticated/admin/factory.js +0 -25
  322. package/build/cjs/server/unauthenticated/helpers/get-offline-session.js +0 -14
  323. package/build/cjs/server/unauthenticated/storefront/factory.js +0 -25
  324. package/build/cjs/server/version.js +0 -7
  325. package/build/ts/react/components/AppProvider/AppProvider.doc.js +0 -34
  326. package/build/ts/react/components/AppProvider/AppProvider.doc.js.map +0 -1
  327. package/build/ts/react/components/AppProvider/AppProvider.js.map +0 -1
  328. package/build/ts/react/components/AppProvider/index.js +0 -5
  329. package/build/ts/react/components/AppProvider/index.js.map +0 -1
  330. package/build/ts/react/components/AppProxyForm/AppProxyForm.doc.js +0 -28
  331. package/build/ts/react/components/AppProxyForm/AppProxyForm.doc.js.map +0 -1
  332. package/build/ts/react/components/AppProxyForm/AppProxyForm.js.map +0 -1
  333. package/build/ts/react/components/AppProxyForm/index.js +0 -6
  334. package/build/ts/react/components/AppProxyForm/index.js.map +0 -1
  335. package/build/ts/react/components/AppProxyLink/AppProxyLink.doc.js +0 -28
  336. package/build/ts/react/components/AppProxyLink/AppProxyLink.doc.js.map +0 -1
  337. package/build/ts/react/components/AppProxyLink/AppProxyLink.js.map +0 -1
  338. package/build/ts/react/components/AppProxyLink/index.js +0 -6
  339. package/build/ts/react/components/AppProxyLink/index.js.map +0 -1
  340. package/build/ts/react/components/AppProxyProvider/AppProxyProvider.doc.js +0 -40
  341. package/build/ts/react/components/AppProxyProvider/AppProxyProvider.doc.js.map +0 -1
  342. package/build/ts/react/components/AppProxyProvider/AppProxyProvider.js.map +0 -1
  343. package/build/ts/react/components/AppProxyProvider/index.js +0 -7
  344. package/build/ts/react/components/AppProxyProvider/index.js.map +0 -1
  345. package/build/ts/react/components/RemixPolarisLink.js +0 -12
  346. package/build/ts/react/components/RemixPolarisLink.js.map +0 -1
  347. package/build/ts/react/components/index.js +0 -8
  348. package/build/ts/react/components/index.js.map +0 -1
  349. package/build/ts/react/const.js +0 -5
  350. package/build/ts/react/const.js.map +0 -1
  351. package/build/ts/react/index.js +0 -5
  352. package/build/ts/react/index.js.map +0 -1
  353. package/build/ts/server/__test-helpers/const.d.ts +0 -10
  354. package/build/ts/server/__test-helpers/const.d.ts.map +0 -1
  355. package/build/ts/server/__test-helpers/const.js +0 -14
  356. package/build/ts/server/__test-helpers/const.js.map +0 -1
  357. package/build/ts/server/__test-helpers/expect-admin-api-client.d.ts +0 -8
  358. package/build/ts/server/__test-helpers/expect-admin-api-client.d.ts.map +0 -1
  359. package/build/ts/server/__test-helpers/expect-admin-api-client.js +0 -165
  360. package/build/ts/server/__test-helpers/expect-admin-api-client.js.map +0 -1
  361. package/build/ts/server/__test-helpers/expect-begin-auth-redirect.d.ts +0 -3
  362. package/build/ts/server/__test-helpers/expect-begin-auth-redirect.d.ts.map +0 -1
  363. package/build/ts/server/__test-helpers/expect-begin-auth-redirect.js +0 -16
  364. package/build/ts/server/__test-helpers/expect-begin-auth-redirect.js.map +0 -1
  365. package/build/ts/server/__test-helpers/expect-document-request-headers.d.ts +0 -2
  366. package/build/ts/server/__test-helpers/expect-document-request-headers.d.ts.map +0 -1
  367. package/build/ts/server/__test-helpers/expect-document-request-headers.js +0 -18
  368. package/build/ts/server/__test-helpers/expect-document-request-headers.js.map +0 -1
  369. package/build/ts/server/__test-helpers/expect-exit-iframe.d.ts +0 -9
  370. package/build/ts/server/__test-helpers/expect-exit-iframe.d.ts.map +0 -1
  371. package/build/ts/server/__test-helpers/expect-exit-iframe.js +0 -21
  372. package/build/ts/server/__test-helpers/expect-exit-iframe.js.map +0 -1
  373. package/build/ts/server/__test-helpers/expect-login-redirect.d.ts +0 -2
  374. package/build/ts/server/__test-helpers/expect-login-redirect.d.ts.map +0 -1
  375. package/build/ts/server/__test-helpers/expect-login-redirect.js +0 -11
  376. package/build/ts/server/__test-helpers/expect-login-redirect.js.map +0 -1
  377. package/build/ts/server/__test-helpers/expect-storefront-api-client.d.ts +0 -8
  378. package/build/ts/server/__test-helpers/expect-storefront-api-client.d.ts.map +0 -1
  379. package/build/ts/server/__test-helpers/expect-storefront-api-client.js +0 -57
  380. package/build/ts/server/__test-helpers/expect-storefront-api-client.js.map +0 -1
  381. package/build/ts/server/__test-helpers/get-hmac.d.ts +0 -2
  382. package/build/ts/server/__test-helpers/get-hmac.d.ts.map +0 -1
  383. package/build/ts/server/__test-helpers/get-hmac.js +0 -14
  384. package/build/ts/server/__test-helpers/get-hmac.js.map +0 -1
  385. package/build/ts/server/__test-helpers/get-jwt.d.ts +0 -8
  386. package/build/ts/server/__test-helpers/get-jwt.d.ts.map +0 -1
  387. package/build/ts/server/__test-helpers/get-jwt.js +0 -17
  388. package/build/ts/server/__test-helpers/get-jwt.js.map +0 -1
  389. package/build/ts/server/__test-helpers/get-thrown-response.d.ts +0 -2
  390. package/build/ts/server/__test-helpers/get-thrown-response.d.ts.map +0 -1
  391. package/build/ts/server/__test-helpers/get-thrown-response.js +0 -28
  392. package/build/ts/server/__test-helpers/get-thrown-response.js.map +0 -1
  393. package/build/ts/server/__test-helpers/index.d.ts +0 -15
  394. package/build/ts/server/__test-helpers/index.d.ts.map +0 -1
  395. package/build/ts/server/__test-helpers/index.js +0 -18
  396. package/build/ts/server/__test-helpers/index.js.map +0 -1
  397. package/build/ts/server/__test-helpers/request-mock.d.ts +0 -10
  398. package/build/ts/server/__test-helpers/request-mock.d.ts.map +0 -1
  399. package/build/ts/server/__test-helpers/request-mock.js +0 -271
  400. package/build/ts/server/__test-helpers/request-mock.js.map +0 -1
  401. package/build/ts/server/__test-helpers/setup-valid-session.d.ts +0 -4
  402. package/build/ts/server/__test-helpers/setup-valid-session.d.ts.map +0 -1
  403. package/build/ts/server/__test-helpers/setup-valid-session.js +0 -45
  404. package/build/ts/server/__test-helpers/setup-valid-session.js.map +0 -1
  405. package/build/ts/server/__test-helpers/sign-request-cookie.d.ts +0 -6
  406. package/build/ts/server/__test-helpers/sign-request-cookie.d.ts.map +0 -1
  407. package/build/ts/server/__test-helpers/sign-request-cookie.js +0 -14
  408. package/build/ts/server/__test-helpers/sign-request-cookie.js.map +0 -1
  409. package/build/ts/server/__test-helpers/test-config.d.ts +0 -43
  410. package/build/ts/server/__test-helpers/test-config.d.ts.map +0 -1
  411. package/build/ts/server/__test-helpers/test-config.js +0 -46
  412. package/build/ts/server/__test-helpers/test-config.js.map +0 -1
  413. package/build/ts/server/adapters/node/index.js +0 -16
  414. package/build/ts/server/adapters/node/index.js.map +0 -1
  415. package/build/ts/server/adapters/vercel/index.js +0 -26
  416. package/build/ts/server/adapters/vercel/index.js.map +0 -1
  417. package/build/ts/server/authenticate/admin/authenticate.admin.doc.js +0 -48
  418. package/build/ts/server/authenticate/admin/authenticate.admin.doc.js.map +0 -1
  419. package/build/ts/server/authenticate/admin/authenticate.js +0 -166
  420. package/build/ts/server/authenticate/admin/authenticate.js.map +0 -1
  421. package/build/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.js +0 -26
  422. package/build/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.js.map +0 -1
  423. package/build/ts/server/authenticate/admin/billing/cancel.js +0 -46
  424. package/build/ts/server/authenticate/admin/billing/cancel.js.map +0 -1
  425. package/build/ts/server/authenticate/admin/billing/check.js +0 -46
  426. package/build/ts/server/authenticate/admin/billing/check.js.map +0 -1
  427. package/build/ts/server/authenticate/admin/billing/index.js +0 -12
  428. package/build/ts/server/authenticate/admin/billing/index.js.map +0 -1
  429. package/build/ts/server/authenticate/admin/billing/request.js +0 -80
  430. package/build/ts/server/authenticate/admin/billing/request.js.map +0 -1
  431. package/build/ts/server/authenticate/admin/billing/require.js +0 -58
  432. package/build/ts/server/authenticate/admin/billing/require.js.map +0 -1
  433. package/build/ts/server/authenticate/admin/billing/types.js +0 -3
  434. package/build/ts/server/authenticate/admin/billing/types.js.map +0 -1
  435. package/build/ts/server/authenticate/admin/helpers/begin-auth.js +0 -24
  436. package/build/ts/server/authenticate/admin/helpers/begin-auth.js.map +0 -1
  437. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js +0 -13
  438. package/build/ts/server/authenticate/admin/helpers/create-admin-api-context.js.map +0 -1
  439. package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js +0 -25
  440. package/build/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.js.map +0 -1
  441. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js +0 -23
  442. package/build/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.js.map +0 -1
  443. package/build/ts/server/authenticate/admin/helpers/handle-client-error.js +0 -42
  444. package/build/ts/server/authenticate/admin/helpers/handle-client-error.js.map +0 -1
  445. package/build/ts/server/authenticate/admin/helpers/index.js +0 -18
  446. package/build/ts/server/authenticate/admin/helpers/index.js.map +0 -1
  447. package/build/ts/server/authenticate/admin/helpers/redirect-to-auth-page.js +0 -36
  448. package/build/ts/server/authenticate/admin/helpers/redirect-to-auth-page.js.map +0 -1
  449. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js +0 -18
  450. package/build/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.js.map +0 -1
  451. package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js +0 -32
  452. package/build/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.js.map +0 -1
  453. package/build/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.js.map +0 -1
  454. package/build/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.js +0 -20
  455. package/build/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.js.map +0 -1
  456. package/build/ts/server/authenticate/admin/helpers/redirect.js +0 -61
  457. package/build/ts/server/authenticate/admin/helpers/redirect.js.map +0 -1
  458. package/build/ts/server/authenticate/admin/helpers/render-app-bridge.js +0 -23
  459. package/build/ts/server/authenticate/admin/helpers/render-app-bridge.js.map +0 -1
  460. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js +0 -28
  461. package/build/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.js.map +0 -1
  462. package/build/ts/server/authenticate/admin/helpers/validate-redirect-url.js.map +0 -1
  463. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js +0 -26
  464. package/build/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +0 -1
  465. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js +0 -343
  466. package/build/ts/server/authenticate/admin/strategies/auth-code-flow.js.map +0 -1
  467. package/build/ts/server/authenticate/admin/strategies/token-exchange.js +0 -163
  468. package/build/ts/server/authenticate/admin/strategies/token-exchange.js.map +0 -1
  469. package/build/ts/server/authenticate/admin/strategies/types.js +0 -3
  470. package/build/ts/server/authenticate/admin/strategies/types.js.map +0 -1
  471. package/build/ts/server/authenticate/admin/types.js +0 -3
  472. package/build/ts/server/authenticate/admin/types.js.map +0 -1
  473. package/build/ts/server/authenticate/const.js +0 -14
  474. package/build/ts/server/authenticate/const.js.map +0 -1
  475. package/build/ts/server/authenticate/flow/authenticate.flow.doc.js +0 -46
  476. package/build/ts/server/authenticate/flow/authenticate.flow.doc.js.map +0 -1
  477. package/build/ts/server/authenticate/flow/authenticate.js +0 -67
  478. package/build/ts/server/authenticate/flow/authenticate.js.map +0 -1
  479. package/build/ts/server/authenticate/flow/types.js +0 -3
  480. package/build/ts/server/authenticate/flow/types.js.map +0 -1
  481. package/build/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.js +0 -46
  482. package/build/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.js.map +0 -1
  483. package/build/ts/server/authenticate/fulfillment-service/authenticate.js +0 -73
  484. package/build/ts/server/authenticate/fulfillment-service/authenticate.js.map +0 -1
  485. package/build/ts/server/authenticate/fulfillment-service/types.js +0 -3
  486. package/build/ts/server/authenticate/fulfillment-service/types.js.map +0 -1
  487. package/build/ts/server/authenticate/helpers/add-response-headers.js +0 -27
  488. package/build/ts/server/authenticate/helpers/add-response-headers.js.map +0 -1
  489. package/build/ts/server/authenticate/helpers/app-bridge-url.js +0 -14
  490. package/build/ts/server/authenticate/helpers/app-bridge-url.js.map +0 -1
  491. package/build/ts/server/authenticate/helpers/ensure-cors-headers.js +0 -25
  492. package/build/ts/server/authenticate/helpers/ensure-cors-headers.js.map +0 -1
  493. package/build/ts/server/authenticate/helpers/get-session-token-header.js +0 -15
  494. package/build/ts/server/authenticate/helpers/get-session-token-header.js.map +0 -1
  495. package/build/ts/server/authenticate/helpers/idempotent-promise-handler.js +0 -53
  496. package/build/ts/server/authenticate/helpers/idempotent-promise-handler.js.map +0 -1
  497. package/build/ts/server/authenticate/helpers/index.js +0 -12
  498. package/build/ts/server/authenticate/helpers/index.js.map +0 -1
  499. package/build/ts/server/authenticate/helpers/reject-bot-request.js +0 -14
  500. package/build/ts/server/authenticate/helpers/reject-bot-request.js.map +0 -1
  501. package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.js +0 -20
  502. package/build/ts/server/authenticate/helpers/respond-to-invalid-session-token.js.map +0 -1
  503. package/build/ts/server/authenticate/helpers/respond-to-options-request.js.map +0 -1
  504. package/build/ts/server/authenticate/helpers/validate-session-token.js +0 -37
  505. package/build/ts/server/authenticate/helpers/validate-session-token.js.map +0 -1
  506. package/build/ts/server/authenticate/login/login.js +0 -58
  507. package/build/ts/server/authenticate/login/login.js.map +0 -1
  508. package/build/ts/server/authenticate/public/appProxy/authenticate.js +0 -118
  509. package/build/ts/server/authenticate/public/appProxy/authenticate.js.map +0 -1
  510. package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.js +0 -53
  511. package/build/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.js.map +0 -1
  512. package/build/ts/server/authenticate/public/appProxy/types.js +0 -3
  513. package/build/ts/server/authenticate/public/appProxy/types.js.map +0 -1
  514. package/build/ts/server/authenticate/public/checkout/authenticate.js +0 -40
  515. package/build/ts/server/authenticate/public/checkout/authenticate.js.map +0 -1
  516. package/build/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.js +0 -39
  517. package/build/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.js.map +0 -1
  518. package/build/ts/server/authenticate/public/checkout/types.js +0 -3
  519. package/build/ts/server/authenticate/public/checkout/types.js.map +0 -1
  520. package/build/ts/server/authenticate/public/factory.js.map +0 -1
  521. package/build/ts/server/authenticate/public/index.js +0 -5
  522. package/build/ts/server/authenticate/public/index.js.map +0 -1
  523. package/build/ts/server/authenticate/public/types.js +0 -3
  524. package/build/ts/server/authenticate/public/types.js.map +0 -1
  525. package/build/ts/server/authenticate/webhooks/authenticate.js +0 -94
  526. package/build/ts/server/authenticate/webhooks/authenticate.js.map +0 -1
  527. package/build/ts/server/authenticate/webhooks/authenticate.webhooks.doc.js +0 -40
  528. package/build/ts/server/authenticate/webhooks/authenticate.webhooks.doc.js.map +0 -1
  529. package/build/ts/server/authenticate/webhooks/index.js +0 -6
  530. package/build/ts/server/authenticate/webhooks/index.js.map +0 -1
  531. package/build/ts/server/authenticate/webhooks/register.js +0 -58
  532. package/build/ts/server/authenticate/webhooks/register.js.map +0 -1
  533. package/build/ts/server/authenticate/webhooks/types.js +0 -3
  534. package/build/ts/server/authenticate/webhooks/types.js.map +0 -1
  535. package/build/ts/server/boundary/error.js +0 -13
  536. package/build/ts/server/boundary/error.js.map +0 -1
  537. package/build/ts/server/boundary/headers.js +0 -13
  538. package/build/ts/server/boundary/headers.js.map +0 -1
  539. package/build/ts/server/boundary/index.js.map +0 -1
  540. package/build/ts/server/boundary/types.js +0 -3
  541. package/build/ts/server/boundary/types.js.map +0 -1
  542. package/build/ts/server/clients/admin/authenticate.admin.api.doc.js +0 -32
  543. package/build/ts/server/clients/admin/authenticate.admin.api.doc.js.map +0 -1
  544. package/build/ts/server/clients/admin/factory.js +0 -18
  545. package/build/ts/server/clients/admin/factory.js.map +0 -1
  546. package/build/ts/server/clients/admin/graphql.js +0 -45
  547. package/build/ts/server/clients/admin/graphql.js.map +0 -1
  548. package/build/ts/server/clients/admin/index.js +0 -6
  549. package/build/ts/server/clients/admin/index.js.map +0 -1
  550. package/build/ts/server/clients/admin/rest.js +0 -165
  551. package/build/ts/server/clients/admin/rest.js.map +0 -1
  552. package/build/ts/server/clients/admin/types.js +0 -3
  553. package/build/ts/server/clients/admin/types.js.map +0 -1
  554. package/build/ts/server/clients/index.js +0 -6
  555. package/build/ts/server/clients/index.js.map +0 -1
  556. package/build/ts/server/clients/storefront/authenticate.storefront.api.doc.js +0 -32
  557. package/build/ts/server/clients/storefront/authenticate.storefront.api.doc.js.map +0 -1
  558. package/build/ts/server/clients/storefront/factory.js +0 -36
  559. package/build/ts/server/clients/storefront/factory.js.map +0 -1
  560. package/build/ts/server/clients/storefront/index.js +0 -6
  561. package/build/ts/server/clients/storefront/index.js.map +0 -1
  562. package/build/ts/server/clients/storefront/types.js +0 -3
  563. package/build/ts/server/clients/storefront/types.js.map +0 -1
  564. package/build/ts/server/clients/types.js +0 -3
  565. package/build/ts/server/clients/types.js.map +0 -1
  566. package/build/ts/server/config-types.js +0 -3
  567. package/build/ts/server/config-types.js.map +0 -1
  568. package/build/ts/server/errors.js +0 -14
  569. package/build/ts/server/errors.js.map +0 -1
  570. package/build/ts/server/future/flags.js.map +0 -1
  571. package/build/ts/server/index.js +0 -24
  572. package/build/ts/server/index.js.map +0 -1
  573. package/build/ts/server/override-logger.js +0 -40
  574. package/build/ts/server/override-logger.js.map +0 -1
  575. package/build/ts/server/shopify-app.doc.js +0 -43
  576. package/build/ts/server/shopify-app.doc.js.map +0 -1
  577. package/build/ts/server/shopify-app.js +0 -124
  578. package/build/ts/server/shopify-app.js.map +0 -1
  579. package/build/ts/server/types.js.map +0 -1
  580. package/build/ts/server/unauthenticated/admin/factory.js +0 -29
  581. package/build/ts/server/unauthenticated/admin/factory.js.map +0 -1
  582. package/build/ts/server/unauthenticated/admin/index.js +0 -5
  583. package/build/ts/server/unauthenticated/admin/index.js.map +0 -1
  584. package/build/ts/server/unauthenticated/admin/types.js +0 -3
  585. package/build/ts/server/unauthenticated/admin/types.js.map +0 -1
  586. package/build/ts/server/unauthenticated/admin/unauthenticated.admin.doc.js +0 -26
  587. package/build/ts/server/unauthenticated/admin/unauthenticated.admin.doc.js.map +0 -1
  588. package/build/ts/server/unauthenticated/helpers/get-offline-session.js +0 -22
  589. package/build/ts/server/unauthenticated/helpers/get-offline-session.js.map +0 -1
  590. package/build/ts/server/unauthenticated/helpers/index.js +0 -5
  591. package/build/ts/server/unauthenticated/helpers/index.js.map +0 -1
  592. package/build/ts/server/unauthenticated/storefront/factory.js +0 -29
  593. package/build/ts/server/unauthenticated/storefront/factory.js.map +0 -1
  594. package/build/ts/server/unauthenticated/storefront/index.js +0 -5
  595. package/build/ts/server/unauthenticated/storefront/index.js.map +0 -1
  596. package/build/ts/server/unauthenticated/storefront/types.js +0 -3
  597. package/build/ts/server/unauthenticated/storefront/types.js.map +0 -1
  598. package/build/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.js +0 -26
  599. package/build/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.js.map +0 -1
  600. package/build/ts/server/unauthenticated/types.js +0 -3
  601. package/build/ts/server/unauthenticated/types.js.map +0 -1
  602. package/build/ts/server/version.d.ts +0 -2
  603. package/build/ts/server/version.js +0 -5
  604. package/build/ts/server/version.js.map +0 -1
  605. /package/{build → dist}/ts/react/components/AppProvider/AppProvider.d.ts +0 -0
  606. /package/{build → dist}/ts/react/components/AppProvider/AppProvider.doc.d.ts +0 -0
  607. /package/{build → dist}/ts/react/components/AppProvider/AppProvider.doc.d.ts.map +0 -0
  608. /package/{build → dist}/ts/react/components/AppProvider/index.d.ts +0 -0
  609. /package/{build → dist}/ts/react/components/AppProvider/index.d.ts.map +0 -0
  610. /package/{build → dist}/ts/react/components/AppProxyForm/AppProxyForm.d.ts +0 -0
  611. /package/{build → dist}/ts/react/components/AppProxyForm/AppProxyForm.d.ts.map +0 -0
  612. /package/{build → dist}/ts/react/components/AppProxyForm/AppProxyForm.doc.d.ts +0 -0
  613. /package/{build → dist}/ts/react/components/AppProxyForm/AppProxyForm.doc.d.ts.map +0 -0
  614. /package/{build → dist}/ts/react/components/AppProxyForm/index.d.ts +0 -0
  615. /package/{build → dist}/ts/react/components/AppProxyForm/index.d.ts.map +0 -0
  616. /package/{build → dist}/ts/react/components/AppProxyLink/AppProxyLink.d.ts +0 -0
  617. /package/{build → dist}/ts/react/components/AppProxyLink/AppProxyLink.d.ts.map +0 -0
  618. /package/{build → dist}/ts/react/components/AppProxyLink/AppProxyLink.doc.d.ts +0 -0
  619. /package/{build → dist}/ts/react/components/AppProxyLink/AppProxyLink.doc.d.ts.map +0 -0
  620. /package/{build → dist}/ts/react/components/AppProxyLink/index.d.ts +0 -0
  621. /package/{build → dist}/ts/react/components/AppProxyLink/index.d.ts.map +0 -0
  622. /package/{build → dist}/ts/react/components/AppProxyProvider/AppProxyProvider.d.ts +0 -0
  623. /package/{build → dist}/ts/react/components/AppProxyProvider/AppProxyProvider.d.ts.map +0 -0
  624. /package/{build → dist}/ts/react/components/AppProxyProvider/AppProxyProvider.doc.d.ts +0 -0
  625. /package/{build → dist}/ts/react/components/AppProxyProvider/AppProxyProvider.doc.d.ts.map +0 -0
  626. /package/{build → dist}/ts/react/components/AppProxyProvider/index.d.ts +0 -0
  627. /package/{build → dist}/ts/react/components/AppProxyProvider/index.d.ts.map +0 -0
  628. /package/{build → dist}/ts/react/components/RemixPolarisLink.d.ts +0 -0
  629. /package/{build → dist}/ts/react/components/RemixPolarisLink.d.ts.map +0 -0
  630. /package/{build → dist}/ts/react/components/index.d.ts +0 -0
  631. /package/{build → dist}/ts/react/components/index.d.ts.map +0 -0
  632. /package/{build → dist}/ts/react/const.d.ts +0 -0
  633. /package/{build → dist}/ts/react/const.d.ts.map +0 -0
  634. /package/{build → dist}/ts/react/index.d.ts +0 -0
  635. /package/{build → dist}/ts/react/index.d.ts.map +0 -0
  636. /package/{build → dist}/ts/server/adapters/node/index.d.ts +0 -0
  637. /package/{build → dist}/ts/server/adapters/node/index.d.ts.map +0 -0
  638. /package/{build → dist}/ts/server/adapters/vercel/index.d.ts +0 -0
  639. /package/{build → dist}/ts/server/adapters/vercel/index.d.ts.map +0 -0
  640. /package/{build → dist}/ts/server/authenticate/admin/authenticate.admin.doc.d.ts +0 -0
  641. /package/{build → dist}/ts/server/authenticate/admin/authenticate.admin.doc.d.ts.map +0 -0
  642. /package/{build → dist}/ts/server/authenticate/admin/authenticate.d.ts +0 -0
  643. /package/{build → dist}/ts/server/authenticate/admin/authenticate.d.ts.map +0 -0
  644. /package/{build → dist}/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.d.ts +0 -0
  645. /package/{build → dist}/ts/server/authenticate/admin/billing/authenticate.admin.billing.doc.d.ts.map +0 -0
  646. /package/{build → dist}/ts/server/authenticate/admin/billing/cancel.d.ts +0 -0
  647. /package/{build → dist}/ts/server/authenticate/admin/billing/cancel.d.ts.map +0 -0
  648. /package/{build → dist}/ts/server/authenticate/admin/billing/check.d.ts +0 -0
  649. /package/{build → dist}/ts/server/authenticate/admin/billing/check.d.ts.map +0 -0
  650. /package/{build → dist}/ts/server/authenticate/admin/billing/index.d.ts +0 -0
  651. /package/{build → dist}/ts/server/authenticate/admin/billing/index.d.ts.map +0 -0
  652. /package/{build → dist}/ts/server/authenticate/admin/billing/request.d.ts +0 -0
  653. /package/{build → dist}/ts/server/authenticate/admin/billing/request.d.ts.map +0 -0
  654. /package/{build → dist}/ts/server/authenticate/admin/billing/require.d.ts +0 -0
  655. /package/{build → dist}/ts/server/authenticate/admin/billing/require.d.ts.map +0 -0
  656. /package/{build → dist}/ts/server/authenticate/admin/billing/types.d.ts +0 -0
  657. /package/{build → dist}/ts/server/authenticate/admin/billing/types.d.ts.map +0 -0
  658. /package/{build → dist}/ts/server/authenticate/admin/helpers/begin-auth.d.ts +0 -0
  659. /package/{build → dist}/ts/server/authenticate/admin/helpers/begin-auth.d.ts.map +0 -0
  660. /package/{build → dist}/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts +0 -0
  661. /package/{build → dist}/ts/server/authenticate/admin/helpers/create-admin-api-context.d.ts.map +0 -0
  662. /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.d.ts +0 -0
  663. /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-app-is-embedded-if-required.d.ts.map +0 -0
  664. /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.d.ts +0 -0
  665. /package/{build → dist}/ts/server/authenticate/admin/helpers/ensure-session-token-search-param-if-required.d.ts.map +0 -0
  666. /package/{build → dist}/ts/server/authenticate/admin/helpers/handle-client-error.d.ts +0 -0
  667. /package/{build → dist}/ts/server/authenticate/admin/helpers/handle-client-error.d.ts.map +0 -0
  668. /package/{build → dist}/ts/server/authenticate/admin/helpers/index.d.ts +0 -0
  669. /package/{build → dist}/ts/server/authenticate/admin/helpers/index.d.ts.map +0 -0
  670. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-auth-page.d.ts +0 -0
  671. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-auth-page.d.ts.map +0 -0
  672. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts +0 -0
  673. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-bounce-page.d.ts.map +0 -0
  674. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.d.ts +0 -0
  675. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-to-shopify-or-app-root.d.ts.map +0 -0
  676. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.d.ts +0 -0
  677. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-app-bridge-headers.d.ts.map +0 -0
  678. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.d.ts +0 -0
  679. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect-with-exitiframe.d.ts.map +0 -0
  680. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect.d.ts +0 -0
  681. /package/{build → dist}/ts/server/authenticate/admin/helpers/redirect.d.ts.map +0 -0
  682. /package/{build → dist}/ts/server/authenticate/admin/helpers/render-app-bridge.d.ts +0 -0
  683. /package/{build → dist}/ts/server/authenticate/admin/helpers/render-app-bridge.d.ts.map +0 -0
  684. /package/{build → dist}/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts +0 -0
  685. /package/{build → dist}/ts/server/authenticate/admin/helpers/trigger-after-auth-hook.d.ts.map +0 -0
  686. /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-redirect-url.d.ts +0 -0
  687. /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-redirect-url.d.ts.map +0 -0
  688. /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts +0 -0
  689. /package/{build → dist}/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts.map +0 -0
  690. /package/{build → dist}/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts +0 -0
  691. /package/{build → dist}/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +0 -0
  692. /package/{build → dist}/ts/server/authenticate/admin/strategies/token-exchange.d.ts +0 -0
  693. /package/{build → dist}/ts/server/authenticate/admin/strategies/token-exchange.d.ts.map +0 -0
  694. /package/{build → dist}/ts/server/authenticate/admin/strategies/types.d.ts +0 -0
  695. /package/{build → dist}/ts/server/authenticate/admin/strategies/types.d.ts.map +0 -0
  696. /package/{build → dist}/ts/server/authenticate/admin/types.d.ts +0 -0
  697. /package/{build → dist}/ts/server/authenticate/admin/types.d.ts.map +0 -0
  698. /package/{build → dist}/ts/server/authenticate/const.d.ts +0 -0
  699. /package/{build → dist}/ts/server/authenticate/const.d.ts.map +0 -0
  700. /package/{build → dist}/ts/server/authenticate/flow/authenticate.d.ts +0 -0
  701. /package/{build → dist}/ts/server/authenticate/flow/authenticate.d.ts.map +0 -0
  702. /package/{build → dist}/ts/server/authenticate/flow/authenticate.flow.doc.d.ts +0 -0
  703. /package/{build → dist}/ts/server/authenticate/flow/authenticate.flow.doc.d.ts.map +0 -0
  704. /package/{build → dist}/ts/server/authenticate/flow/types.d.ts +0 -0
  705. /package/{build → dist}/ts/server/authenticate/flow/types.d.ts.map +0 -0
  706. /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.d.ts +0 -0
  707. /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.d.ts.map +0 -0
  708. /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.d.ts +0 -0
  709. /package/{build → dist}/ts/server/authenticate/fulfillment-service/authenticate.fulfillment-service.doc.d.ts.map +0 -0
  710. /package/{build → dist}/ts/server/authenticate/fulfillment-service/types.d.ts +0 -0
  711. /package/{build → dist}/ts/server/authenticate/fulfillment-service/types.d.ts.map +0 -0
  712. /package/{build → dist}/ts/server/authenticate/helpers/add-response-headers.d.ts +0 -0
  713. /package/{build → dist}/ts/server/authenticate/helpers/add-response-headers.d.ts.map +0 -0
  714. /package/{build → dist}/ts/server/authenticate/helpers/app-bridge-url.d.ts +0 -0
  715. /package/{build → dist}/ts/server/authenticate/helpers/app-bridge-url.d.ts.map +0 -0
  716. /package/{build → dist}/ts/server/authenticate/helpers/ensure-cors-headers.d.ts +0 -0
  717. /package/{build → dist}/ts/server/authenticate/helpers/ensure-cors-headers.d.ts.map +0 -0
  718. /package/{build → dist}/ts/server/authenticate/helpers/get-session-token-header.d.ts +0 -0
  719. /package/{build → dist}/ts/server/authenticate/helpers/get-session-token-header.d.ts.map +0 -0
  720. /package/{build → dist}/ts/server/authenticate/helpers/idempotent-promise-handler.d.ts +0 -0
  721. /package/{build → dist}/ts/server/authenticate/helpers/idempotent-promise-handler.d.ts.map +0 -0
  722. /package/{build → dist}/ts/server/authenticate/helpers/index.d.ts +0 -0
  723. /package/{build → dist}/ts/server/authenticate/helpers/index.d.ts.map +0 -0
  724. /package/{build → dist}/ts/server/authenticate/helpers/reject-bot-request.d.ts +0 -0
  725. /package/{build → dist}/ts/server/authenticate/helpers/reject-bot-request.d.ts.map +0 -0
  726. /package/{build → dist}/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts +0 -0
  727. /package/{build → dist}/ts/server/authenticate/helpers/respond-to-invalid-session-token.d.ts.map +0 -0
  728. /package/{build → dist}/ts/server/authenticate/helpers/respond-to-options-request.d.ts +0 -0
  729. /package/{build → dist}/ts/server/authenticate/helpers/respond-to-options-request.d.ts.map +0 -0
  730. /package/{build → dist}/ts/server/authenticate/helpers/validate-session-token.d.ts +0 -0
  731. /package/{build → dist}/ts/server/authenticate/helpers/validate-session-token.d.ts.map +0 -0
  732. /package/{build → dist}/ts/server/authenticate/login/login.d.ts +0 -0
  733. /package/{build → dist}/ts/server/authenticate/login/login.d.ts.map +0 -0
  734. /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.d.ts +0 -0
  735. /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.d.ts.map +0 -0
  736. /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts +0 -0
  737. /package/{build → dist}/ts/server/authenticate/public/appProxy/authenticate.public.app-proxy.doc.d.ts.map +0 -0
  738. /package/{build → dist}/ts/server/authenticate/public/appProxy/types.d.ts +0 -0
  739. /package/{build → dist}/ts/server/authenticate/public/appProxy/types.d.ts.map +0 -0
  740. /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.d.ts +0 -0
  741. /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.d.ts.map +0 -0
  742. /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.d.ts +0 -0
  743. /package/{build → dist}/ts/server/authenticate/public/checkout/authenticate.public.checkout.doc.d.ts.map +0 -0
  744. /package/{build → dist}/ts/server/authenticate/public/checkout/types.d.ts +0 -0
  745. /package/{build → dist}/ts/server/authenticate/public/checkout/types.d.ts.map +0 -0
  746. /package/{build → dist}/ts/server/authenticate/public/factory.d.ts +0 -0
  747. /package/{build → dist}/ts/server/authenticate/public/factory.d.ts.map +0 -0
  748. /package/{build → dist}/ts/server/authenticate/public/index.d.ts +0 -0
  749. /package/{build → dist}/ts/server/authenticate/public/index.d.ts.map +0 -0
  750. /package/{build → dist}/ts/server/authenticate/public/types.d.ts +0 -0
  751. /package/{build → dist}/ts/server/authenticate/public/types.d.ts.map +0 -0
  752. /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.d.ts +0 -0
  753. /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.d.ts.map +0 -0
  754. /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.webhooks.doc.d.ts +0 -0
  755. /package/{build → dist}/ts/server/authenticate/webhooks/authenticate.webhooks.doc.d.ts.map +0 -0
  756. /package/{build → dist}/ts/server/authenticate/webhooks/index.d.ts +0 -0
  757. /package/{build → dist}/ts/server/authenticate/webhooks/index.d.ts.map +0 -0
  758. /package/{build → dist}/ts/server/authenticate/webhooks/register.d.ts +0 -0
  759. /package/{build → dist}/ts/server/authenticate/webhooks/register.d.ts.map +0 -0
  760. /package/{build → dist}/ts/server/authenticate/webhooks/types.d.ts +0 -0
  761. /package/{build → dist}/ts/server/authenticate/webhooks/types.d.ts.map +0 -0
  762. /package/{build → dist}/ts/server/boundary/error.d.ts +0 -0
  763. /package/{build → dist}/ts/server/boundary/error.d.ts.map +0 -0
  764. /package/{build → dist}/ts/server/boundary/headers.d.ts +0 -0
  765. /package/{build → dist}/ts/server/boundary/headers.d.ts.map +0 -0
  766. /package/{build → dist}/ts/server/boundary/index.d.ts +0 -0
  767. /package/{build → dist}/ts/server/boundary/index.d.ts.map +0 -0
  768. /package/{build → dist}/ts/server/boundary/types.d.ts +0 -0
  769. /package/{build → dist}/ts/server/boundary/types.d.ts.map +0 -0
  770. /package/{build → dist}/ts/server/clients/admin/authenticate.admin.api.doc.d.ts +0 -0
  771. /package/{build → dist}/ts/server/clients/admin/authenticate.admin.api.doc.d.ts.map +0 -0
  772. /package/{build → dist}/ts/server/clients/admin/factory.d.ts +0 -0
  773. /package/{build → dist}/ts/server/clients/admin/factory.d.ts.map +0 -0
  774. /package/{build → dist}/ts/server/clients/admin/graphql.d.ts +0 -0
  775. /package/{build → dist}/ts/server/clients/admin/graphql.d.ts.map +0 -0
  776. /package/{build → dist}/ts/server/clients/admin/index.d.ts +0 -0
  777. /package/{build → dist}/ts/server/clients/admin/index.d.ts.map +0 -0
  778. /package/{build → dist}/ts/server/clients/admin/rest.d.ts +0 -0
  779. /package/{build → dist}/ts/server/clients/admin/rest.d.ts.map +0 -0
  780. /package/{build → dist}/ts/server/clients/admin/types.d.ts.map +0 -0
  781. /package/{build → dist}/ts/server/clients/index.d.ts +0 -0
  782. /package/{build → dist}/ts/server/clients/index.d.ts.map +0 -0
  783. /package/{build → dist}/ts/server/clients/storefront/authenticate.storefront.api.doc.d.ts +0 -0
  784. /package/{build → dist}/ts/server/clients/storefront/authenticate.storefront.api.doc.d.ts.map +0 -0
  785. /package/{build → dist}/ts/server/clients/storefront/factory.d.ts +0 -0
  786. /package/{build → dist}/ts/server/clients/storefront/factory.d.ts.map +0 -0
  787. /package/{build → dist}/ts/server/clients/storefront/index.d.ts +0 -0
  788. /package/{build → dist}/ts/server/clients/storefront/index.d.ts.map +0 -0
  789. /package/{build → dist}/ts/server/clients/storefront/types.d.ts +0 -0
  790. /package/{build → dist}/ts/server/clients/storefront/types.d.ts.map +0 -0
  791. /package/{build → dist}/ts/server/clients/types.d.ts +0 -0
  792. /package/{build → dist}/ts/server/clients/types.d.ts.map +0 -0
  793. /package/{build → dist}/ts/server/config-types.d.ts +0 -0
  794. /package/{build → dist}/ts/server/config-types.d.ts.map +0 -0
  795. /package/{build → dist}/ts/server/errors.d.ts +0 -0
  796. /package/{build → dist}/ts/server/errors.d.ts.map +0 -0
  797. /package/{build → dist}/ts/server/future/flags.d.ts +0 -0
  798. /package/{build → dist}/ts/server/future/flags.d.ts.map +0 -0
  799. /package/{build → dist}/ts/server/index.d.ts +0 -0
  800. /package/{build → dist}/ts/server/index.d.ts.map +0 -0
  801. /package/{build → dist}/ts/server/override-logger.d.ts +0 -0
  802. /package/{build → dist}/ts/server/override-logger.d.ts.map +0 -0
  803. /package/{build → dist}/ts/server/shopify-app.d.ts +0 -0
  804. /package/{build → dist}/ts/server/shopify-app.d.ts.map +0 -0
  805. /package/{build → dist}/ts/server/shopify-app.doc.d.ts +0 -0
  806. /package/{build → dist}/ts/server/shopify-app.doc.d.ts.map +0 -0
  807. /package/{build → dist}/ts/server/types.d.ts +0 -0
  808. /package/{build → dist}/ts/server/types.d.ts.map +0 -0
  809. /package/{build → dist}/ts/server/unauthenticated/admin/factory.d.ts +0 -0
  810. /package/{build → dist}/ts/server/unauthenticated/admin/factory.d.ts.map +0 -0
  811. /package/{build → dist}/ts/server/unauthenticated/admin/index.d.ts +0 -0
  812. /package/{build → dist}/ts/server/unauthenticated/admin/index.d.ts.map +0 -0
  813. /package/{build → dist}/ts/server/unauthenticated/admin/types.d.ts +0 -0
  814. /package/{build → dist}/ts/server/unauthenticated/admin/types.d.ts.map +0 -0
  815. /package/{build → dist}/ts/server/unauthenticated/admin/unauthenticated.admin.doc.d.ts +0 -0
  816. /package/{build → dist}/ts/server/unauthenticated/admin/unauthenticated.admin.doc.d.ts.map +0 -0
  817. /package/{build → dist}/ts/server/unauthenticated/helpers/get-offline-session.d.ts +0 -0
  818. /package/{build → dist}/ts/server/unauthenticated/helpers/get-offline-session.d.ts.map +0 -0
  819. /package/{build → dist}/ts/server/unauthenticated/helpers/index.d.ts +0 -0
  820. /package/{build → dist}/ts/server/unauthenticated/helpers/index.d.ts.map +0 -0
  821. /package/{build → dist}/ts/server/unauthenticated/storefront/factory.d.ts +0 -0
  822. /package/{build → dist}/ts/server/unauthenticated/storefront/factory.d.ts.map +0 -0
  823. /package/{build → dist}/ts/server/unauthenticated/storefront/index.d.ts +0 -0
  824. /package/{build → dist}/ts/server/unauthenticated/storefront/index.d.ts.map +0 -0
  825. /package/{build → dist}/ts/server/unauthenticated/storefront/types.d.ts +0 -0
  826. /package/{build → dist}/ts/server/unauthenticated/storefront/types.d.ts.map +0 -0
  827. /package/{build → dist}/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.d.ts +0 -0
  828. /package/{build → dist}/ts/server/unauthenticated/storefront/unauthenticated.storefront.doc.d.ts.map +0 -0
  829. /package/{build → dist}/ts/server/unauthenticated/types.d.ts +0 -0
  830. /package/{build → dist}/ts/server/unauthenticated/types.d.ts.map +0 -0
  831. /package/{build → dist}/ts/server/version.d.ts.map +0 -0
@@ -0,0 +1,225 @@
1
+ 'use strict';
2
+
3
+ var shopifyApi = require('@shopify/shopify-api');
4
+ var beginAuth = require('../helpers/begin-auth.js');
5
+ var redirectToShopifyOrAppRoot = require('../helpers/redirect-to-shopify-or-app-root.js');
6
+ require('@remix-run/server-runtime');
7
+ var handleClientError = require('../helpers/handle-client-error.js');
8
+ var redirectToAuthPage = require('../helpers/redirect-to-auth-page.js');
9
+ var redirectWithExitiframe = require('../helpers/redirect-with-exitiframe.js');
10
+ var getSessionTokenHeader = require('../../helpers/get-session-token-header.js');
11
+ var triggerAfterAuthHook = require('../helpers/trigger-after-auth-hook.js');
12
+ var validateShopAndHostParams = require('../helpers/validate-shop-and-host-params.js');
13
+ require('isbot');
14
+
15
+ class AuthCodeFlowStrategy {
16
+ constructor({ api, config, logger }) {
17
+ this.api = api;
18
+ this.config = config;
19
+ this.logger = logger;
20
+ }
21
+ async respondToOAuthRequests(request) {
22
+ const { api, config } = this;
23
+ const url = new URL(request.url);
24
+ const isAuthRequest = url.pathname === config.auth.path;
25
+ const isAuthCallbackRequest = url.pathname === config.auth.callbackPath;
26
+ if (isAuthRequest || isAuthCallbackRequest) {
27
+ const shop = api.utils.sanitizeShop(url.searchParams.get('shop'));
28
+ if (!shop)
29
+ throw new Response('Shop param is invalid', { status: 400 });
30
+ if (isAuthRequest) {
31
+ throw await this.handleAuthBeginRequest(request, shop);
32
+ }
33
+ else {
34
+ throw await this.handleAuthCallbackRequest(request, shop);
35
+ }
36
+ }
37
+ if (!getSessionTokenHeader.getSessionTokenHeader(request)) {
38
+ // This is a document request that doesn't contain a session token. We check if the app is installed.
39
+ // If the app isn't installed, we initiate the OAuth auth code flow.
40
+ // Requests with a header can only happen after the app is installed.
41
+ await this.ensureInstalledOnShop(request);
42
+ }
43
+ }
44
+ async authenticate(request, sessionContext) {
45
+ const { api, config, logger } = this;
46
+ const { shop, session } = sessionContext;
47
+ if (!session) {
48
+ logger.debug('No session found, redirecting to OAuth', { shop });
49
+ await redirectToAuthPage.redirectToAuthPage({ config, logger, api }, request, shop);
50
+ }
51
+ else if (!session.isActive(config.scopes)) {
52
+ logger.debug('Found a session, but it has expired, redirecting to OAuth', { shop });
53
+ await redirectToAuthPage.redirectToAuthPage({ config, logger, api }, request, shop);
54
+ }
55
+ logger.debug('Found a valid session', { shop });
56
+ return session;
57
+ }
58
+ handleClientError(request) {
59
+ const { api, config, logger } = this;
60
+ return handleClientError.handleClientErrorFactory({
61
+ request,
62
+ onError: async ({ session, error }) => {
63
+ if (error.response.code === 401) {
64
+ throw await redirectToAuthPage.redirectToAuthPage({ api, config, logger }, request, session.shop);
65
+ }
66
+ },
67
+ });
68
+ }
69
+ async ensureInstalledOnShop(request) {
70
+ const { api, config, logger } = this;
71
+ validateShopAndHostParams.validateShopAndHostParams({ api, config, logger }, request);
72
+ const url = new URL(request.url);
73
+ let shop = url.searchParams.get('shop');
74
+ // Ensure app is installed
75
+ logger.debug('Ensuring app is installed on shop', { shop });
76
+ if (!(await this.hasValidOfflineId(request))) {
77
+ logger.info("Could not find a shop, can't authenticate request");
78
+ throw new Response(undefined, {
79
+ status: 400,
80
+ statusText: 'Bad Request',
81
+ });
82
+ }
83
+ const offlineSession = await this.getOfflineSession(request);
84
+ const isEmbedded = url.searchParams.get('embedded') === '1';
85
+ if (!offlineSession) {
86
+ logger.info("Shop hasn't installed app yet, redirecting to OAuth", {
87
+ shop,
88
+ });
89
+ if (isEmbedded) {
90
+ redirectWithExitiframe.redirectWithExitIframe({ api, config, logger }, request, shop);
91
+ }
92
+ else {
93
+ throw await beginAuth.beginAuth({ api, config, logger }, request, false, shop);
94
+ }
95
+ }
96
+ shop = shop || offlineSession.shop;
97
+ if (config.isEmbeddedApp && !isEmbedded) {
98
+ try {
99
+ logger.debug('Ensuring offline session is valid before embedding', {
100
+ shop,
101
+ });
102
+ await this.testSession(offlineSession);
103
+ logger.debug('Offline session is still valid, embedding app', { shop });
104
+ }
105
+ catch (error) {
106
+ await this.handleInvalidOfflineSession(error, request, shop);
107
+ }
108
+ }
109
+ }
110
+ async handleAuthBeginRequest(request, shop) {
111
+ const { api, config, logger } = this;
112
+ logger.info('Handling OAuth begin request', { shop });
113
+ // If we're loading from an iframe, we need to break out of it
114
+ if (config.isEmbeddedApp &&
115
+ request.headers.get('Sec-Fetch-Dest') === 'iframe') {
116
+ logger.debug('Auth request in iframe detected, exiting iframe', { shop });
117
+ throw redirectWithExitiframe.redirectWithExitIframe({ api, config, logger }, request, shop);
118
+ }
119
+ else {
120
+ throw await beginAuth.beginAuth({ api, config, logger }, request, false, shop);
121
+ }
122
+ }
123
+ async handleAuthCallbackRequest(request, shop) {
124
+ const { api, config, logger } = this;
125
+ logger.info('Handling OAuth callback request');
126
+ try {
127
+ const { session, headers: responseHeaders } = await api.auth.callback({
128
+ rawRequest: request,
129
+ });
130
+ await config.sessionStorage.storeSession(session);
131
+ if (config.useOnlineTokens && !session.isOnline) {
132
+ logger.info('Requesting online access token for offline session');
133
+ await beginAuth.beginAuth({ api, config, logger }, request, true, shop);
134
+ }
135
+ await triggerAfterAuthHook.triggerAfterAuthHook({ api, config, logger }, session, request, this);
136
+ throw await redirectToShopifyOrAppRoot.redirectToShopifyOrAppRoot(request, { api, config, logger }, responseHeaders);
137
+ }
138
+ catch (error) {
139
+ if (error instanceof Response)
140
+ throw error;
141
+ throw await this.oauthCallbackError(error, request, shop);
142
+ }
143
+ }
144
+ async getOfflineSession(request) {
145
+ const offlineId = await this.getOfflineSessionId(request);
146
+ return this.config.sessionStorage.loadSession(offlineId);
147
+ }
148
+ async hasValidOfflineId(request) {
149
+ return Boolean(await this.getOfflineSessionId(request));
150
+ }
151
+ async getOfflineSessionId(request) {
152
+ const { api } = this;
153
+ const url = new URL(request.url);
154
+ const shop = url.searchParams.get('shop');
155
+ return shop
156
+ ? api.session.getOfflineId(shop)
157
+ : api.session.getCurrentId({ isOnline: false, rawRequest: request });
158
+ }
159
+ async testSession(session) {
160
+ const { api } = this;
161
+ const client = new api.clients.Graphql({
162
+ session,
163
+ });
164
+ await client.request(`#graphql
165
+ query shopifyAppShopName {
166
+ shop {
167
+ name
168
+ }
169
+ }
170
+ `);
171
+ }
172
+ async oauthCallbackError(error, request, shop) {
173
+ const { logger } = this;
174
+ logger.error('Error during OAuth callback', { error: error.message });
175
+ if (error instanceof shopifyApi.CookieNotFound) {
176
+ return this.handleAuthBeginRequest(request, shop);
177
+ }
178
+ if (error instanceof shopifyApi.InvalidHmacError ||
179
+ error instanceof shopifyApi.InvalidOAuthError) {
180
+ return new Response(undefined, {
181
+ status: 400,
182
+ statusText: 'Invalid OAuth Request',
183
+ });
184
+ }
185
+ return new Response(undefined, {
186
+ status: 500,
187
+ statusText: 'Internal Server Error',
188
+ });
189
+ }
190
+ async handleInvalidOfflineSession(error, request, shop) {
191
+ const { api, logger, config } = this;
192
+ if (error instanceof shopifyApi.HttpResponseError) {
193
+ if (error.response.code === 401) {
194
+ logger.info('Shop session is no longer valid, redirecting to OAuth', {
195
+ shop,
196
+ });
197
+ throw await beginAuth.beginAuth({ api, config, logger }, request, false, shop);
198
+ }
199
+ else {
200
+ const message = JSON.stringify(error.response.body, null, 2);
201
+ logger.error(`Unexpected error during session validation: ${message}`, {
202
+ shop,
203
+ });
204
+ throw new Response(undefined, {
205
+ status: error.response.code,
206
+ statusText: error.response.statusText,
207
+ });
208
+ }
209
+ }
210
+ else if (error instanceof shopifyApi.GraphqlQueryError) {
211
+ const context = { shop };
212
+ if (error.response) {
213
+ context.response = JSON.stringify(error.body);
214
+ }
215
+ logger.error(`Unexpected error during session validation: ${error.message}`, context);
216
+ throw new Response(undefined, {
217
+ status: 500,
218
+ statusText: 'Internal Server Error',
219
+ });
220
+ }
221
+ }
222
+ }
223
+
224
+ exports.AuthCodeFlowStrategy = AuthCodeFlowStrategy;
225
+ //# sourceMappingURL=auth-code-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-code-flow.js","sources":["../../../../../../../src/server/authenticate/admin/strategies/auth-code-flow.ts"],"sourcesContent":[null],"names":["getSessionTokenHeader","redirectToAuthPage","handleClientErrorFactory","validateShopAndHostParams","redirectWithExitIframe","beginAuth","triggerAfterAuthHook","redirectToShopifyOrAppRoot","CookieNotFound","InvalidHmacError","InvalidOAuthError","HttpResponseError","GraphqlQueryError"],"mappings":";;;;;;;;;;;;;;MA+Ba,oBAAoB,CAAA;AAc/B,IAAA,WAAA,CAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAc,EAAA;AACnD,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;IAEM,MAAM,sBAAsB,CAAC,OAAgB,EAAA;AAClD,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAE3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,qBAAqB,GAAG,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;AAExE,QAAA,IAAI,aAAa,IAAI,qBAAqB,EAAE;AAC1C,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,QAAQ,CAAC,uBAAuB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;YAEtE,IAAI,aAAa,EAAE;gBACjB,MAAM,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACxD;iBAAM;gBACL,MAAM,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC3D;SACF;AAED,QAAA,IAAI,CAACA,2CAAqB,CAAC,OAAO,CAAC,EAAE;;;;AAInC,YAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;SAC3C;KACF;AAEM,IAAA,MAAM,YAAY,CACvB,OAAgB,EAChB,cAA8B,EAAA;QAE9B,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AAEnC,QAAA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,cAAc,CAAC;QAEvC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AAC/D,YAAA,MAAMC,qCAAkB,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC3C,MAAM,CAAC,KAAK,CACV,2DAA2D,EAC3D,EAAC,IAAI,EAAC,CACP,CAAC;AACF,YAAA,MAAMA,qCAAkB,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;QAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AAE9C,QAAA,OAAO,OAAQ,CAAC;KACjB;AAEM,IAAA,iBAAiB,CAAC,OAAgB,EAAA;QACvC,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AACnC,QAAA,OAAOC,0CAAwB,CAAC;YAC9B,OAAO;YACP,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,KAAK,EAAiB,KAAI;gBAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AAC/B,oBAAA,MAAM,MAAMD,qCAAkB,CAC5B,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EACrB,OAAO,EACP,OAAO,CAAC,IAAI,CACb,CAAC;iBACH;aACF;AACF,SAAA,CAAC,CAAC;KACJ;IAEO,MAAM,qBAAqB,CAAC,OAAgB,EAAA;QAClD,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAEnCE,mDAAyB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;QAGxC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;QAE1D,IAAI,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE;AAC5C,YAAA,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;AACjE,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7D,QAAA,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;QAE5D,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE;gBACjE,IAAI;AACL,aAAA,CAAC,CAAC;YACH,IAAI,UAAU,EAAE;AACd,gBAAAC,6CAAsB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,IAAK,CAAC,CAAC;aAC/D;iBAAM;AACL,gBAAA,MAAM,MAAMC,mBAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAK,CAAC,CAAC;aACrE;SACF;AAED,QAAA,IAAI,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC;AAEnC,QAAA,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE;AACvC,YAAA,IAAI;AACF,gBAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;oBACjE,IAAI;AACL,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAEvC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;aACvE;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;aAC9D;SACF;KACF;AAEO,IAAA,MAAM,sBAAsB,CAClC,OAAgB,EAChB,IAAY,EAAA;QAEZ,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;QAEnC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;;QAGpD,IACE,MAAM,CAAC,aAAa;YACpB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAClD;YACA,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;AACxE,YAAA,MAAMD,6CAAsB,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpE;aAAM;AACL,YAAA,MAAM,MAAMC,mBAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACpE;KACF;AAEO,IAAA,MAAM,yBAAyB,CACrC,OAAgB,EAChB,IAAY,EAAA;QAEZ,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AAEnC,QAAA,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AAE/C,QAAA,IAAI;AACF,YAAA,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClE,gBAAA,UAAU,EAAE,OAAO;AACpB,aAAA,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC/C,gBAAA,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;AAClE,gBAAA,MAAMA,mBAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC7D;AAED,YAAA,MAAMC,yCAAoB,CACxB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EACrB,OAAO,EACP,OAAO,EACP,IAAI,CACL,CAAC;AAEF,YAAA,MAAM,MAAMC,qDAA0B,CACpC,OAAO,EACP,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EACrB,eAAe,CAChB,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,QAAQ;AAAE,gBAAA,MAAM,KAAK,CAAC;YAE3C,MAAM,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAC3D;KACF;IAEO,MAAM,iBAAiB,CAC7B,OAAgB,EAAA;QAEhB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAU,CAAC,CAAC;KAC3D;IAEO,MAAM,iBAAiB,CAAC,OAAgB,EAAA;QAC9C,OAAO,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;KACzD;IAEO,MAAM,mBAAmB,CAC/B,OAAgB,EAAA;AAEhB,QAAA,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAE1C,QAAA,OAAO,IAAI;cACP,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;AAChC,cAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAC,CAAC,CAAC;KACtE;IAEO,MAAM,WAAW,CAAC,OAAgB,EAAA;AACxC,QAAA,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,OAAO;AACR,SAAA,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,CAAA;;;;;;AAMpB,IAAA,CAAA,CAAC,CAAC;KACJ;AAEO,IAAA,MAAM,kBAAkB,CAC9B,KAAY,EACZ,OAAgB,EAChB,IAAY,EAAA;AAEZ,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC;AACtB,QAAA,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAC,CAAC,CAAC;AAEpE,QAAA,IAAI,KAAK,YAAYC,yBAAc,EAAE;YACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,IACE,KAAK,YAAYC,2BAAgB;YACjC,KAAK,YAAYC,4BAAiB,EAClC;AACA,YAAA,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC7B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,uBAAuB;AACpC,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC7B,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,UAAU,EAAE,uBAAuB;AACpC,SAAA,CAAC,CAAC;KACJ;AAEO,IAAA,MAAM,2BAA2B,CACvC,KAAY,EACZ,OAAgB,EAChB,IAAY,EAAA;QAEZ,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC;AACnC,QAAA,IAAI,KAAK,YAAYC,4BAAiB,EAAE;YACtC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AAC/B,gBAAA,MAAM,CAAC,IAAI,CAAC,uDAAuD,EAAE;oBACnE,IAAI;AACL,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,MAAMN,mBAAS,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aACpE;iBAAM;AACL,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC7D,gBAAA,MAAM,CAAC,KAAK,CAAC,CAA+C,4CAAA,EAAA,OAAO,EAAE,EAAE;oBACrE,IAAI;AACL,iBAAA,CAAC,CAAC;AAEH,gBAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,oBAAA,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;AAC3B,oBAAA,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;AACtC,iBAAA,CAAC,CAAC;aACJ;SACF;AAAM,aAAA,IAAI,KAAK,YAAYO,4BAAiB,EAAE;AAC7C,YAAA,MAAM,OAAO,GAA2B,EAAC,IAAI,EAAC,CAAC;AAC/C,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAClB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC/C;YAED,MAAM,CAAC,KAAK,CACV,CAA+C,4CAAA,EAAA,KAAK,CAAC,OAAO,CAAE,CAAA,EAC9D,OAAO,CACR,CAAC;AAEF,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,uBAAuB;AACpC,aAAA,CAAC,CAAC;SACJ;KACF;AACF;;;;"}
@@ -0,0 +1,110 @@
1
+ 'use strict';
2
+
3
+ var shopifyApi = require('@shopify/shopify-api');
4
+ var respondToInvalidSessionToken = require('../../helpers/respond-to-invalid-session-token.js');
5
+ require('isbot');
6
+ require('@remix-run/server-runtime');
7
+ var handleClientError = require('../helpers/handle-client-error.js');
8
+ var triggerAfterAuthHook = require('../helpers/trigger-after-auth-hook.js');
9
+
10
+ class TokenExchangeStrategy {
11
+ constructor({ api, config, logger }) {
12
+ this.api = api;
13
+ this.config = config;
14
+ this.logger = logger;
15
+ }
16
+ async respondToOAuthRequests(_request) { }
17
+ async authenticate(request, sessionContext) {
18
+ const { api, config, logger } = this;
19
+ const { shop, session, sessionToken } = sessionContext;
20
+ if (!sessionToken)
21
+ throw new shopifyApi.InvalidJwtError();
22
+ if (!session || session.isExpired()) {
23
+ logger.info('No valid session found');
24
+ logger.info('Requesting offline access token');
25
+ const { session: offlineSession } = await this.exchangeToken({
26
+ request,
27
+ sessionToken,
28
+ shop,
29
+ requestedTokenType: shopifyApi.RequestedTokenType.OfflineAccessToken,
30
+ });
31
+ await config.sessionStorage.storeSession(offlineSession);
32
+ let newSession = offlineSession;
33
+ if (config.useOnlineTokens) {
34
+ logger.info('Requesting online access token');
35
+ const { session: onlineSession } = await this.exchangeToken({
36
+ request,
37
+ sessionToken,
38
+ shop,
39
+ requestedTokenType: shopifyApi.RequestedTokenType.OnlineAccessToken,
40
+ });
41
+ await config.sessionStorage.storeSession(onlineSession);
42
+ newSession = onlineSession;
43
+ }
44
+ try {
45
+ await this.handleAfterAuthHook({ api, config, logger }, newSession, request, sessionToken);
46
+ }
47
+ catch (error) {
48
+ throw new Response(undefined, {
49
+ status: 500,
50
+ statusText: 'Internal Server Error',
51
+ });
52
+ }
53
+ return newSession;
54
+ }
55
+ return session;
56
+ }
57
+ handleClientError(request) {
58
+ const { api, config, logger } = this;
59
+ return handleClientError.handleClientErrorFactory({
60
+ request,
61
+ onError: async ({ session, error }) => {
62
+ if (error.response.code === 401) {
63
+ config.sessionStorage.deleteSession(session.id);
64
+ respondToInvalidSessionToken.respondToInvalidSessionToken({
65
+ params: { config, api, logger },
66
+ request,
67
+ });
68
+ }
69
+ },
70
+ });
71
+ }
72
+ async exchangeToken({ request, shop, sessionToken, requestedTokenType, }) {
73
+ const { api, config, logger } = this;
74
+ try {
75
+ return await api.auth.tokenExchange({
76
+ sessionToken,
77
+ shop,
78
+ requestedTokenType,
79
+ });
80
+ }
81
+ catch (error) {
82
+ if (error instanceof shopifyApi.InvalidJwtError ||
83
+ (error instanceof shopifyApi.HttpResponseError &&
84
+ error.response.code === 400 &&
85
+ error.response.body?.error === 'invalid_subject_token')) {
86
+ throw respondToInvalidSessionToken.respondToInvalidSessionToken({
87
+ params: { api, config, logger },
88
+ request,
89
+ retryRequest: true,
90
+ });
91
+ }
92
+ throw new Response(undefined, {
93
+ status: 500,
94
+ statusText: 'Internal Server Error',
95
+ });
96
+ }
97
+ }
98
+ async handleAfterAuthHook(params, session, request, sessionToken) {
99
+ const { config } = params;
100
+ await config.idempotentPromiseHandler.handlePromise({
101
+ promiseFunction: () => {
102
+ return triggerAfterAuthHook.triggerAfterAuthHook(params, session, request, this);
103
+ },
104
+ identifier: sessionToken,
105
+ });
106
+ }
107
+ }
108
+
109
+ exports.TokenExchangeStrategy = TokenExchangeStrategy;
110
+ //# sourceMappingURL=token-exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-exchange.js","sources":["../../../../../../../src/server/authenticate/admin/strategies/token-exchange.ts"],"sourcesContent":[null],"names":["InvalidJwtError","RequestedTokenType","handleClientErrorFactory","respondToInvalidSessionToken","HttpResponseError","triggerAfterAuthHook"],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  const APP_BRIDGE_URL = 'https://cdn.shopify.com/shopifycloud/app-bridge.js';
6
4
  const REAUTH_URL_HEADER = 'X-Shopify-API-Request-Failure-Reauthorize-Url';
7
5
  const RETRY_INVALID_SESSION_HEADER = {
8
- 'X-Shopify-Retry-Invalid-Session-Request': '1'
6
+ 'X-Shopify-Retry-Invalid-Session-Request': '1',
9
7
  };
10
8
 
11
9
  exports.APP_BRIDGE_URL = APP_BRIDGE_URL;
12
10
  exports.REAUTH_URL_HEADER = REAUTH_URL_HEADER;
13
11
  exports.RETRY_INVALID_SESSION_HEADER = RETRY_INVALID_SESSION_HEADER;
12
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","sources":["../../../../../src/server/authenticate/const.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAO,MAAM,cAAc,GACzB,qDAAqD;AAEhD,MAAM,iBAAiB,GAC5B,gDAAgD;AAErC,MAAA,4BAA4B,GAAG;AAC1C,IAAA,yCAAyC,EAAE,GAAG;;;;;;;"}
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var factory = require('../../clients/admin/factory.js');
4
+
5
+ function authenticateFlowFactory(params) {
6
+ const { api, config, logger } = params;
7
+ return async function authenticate(request) {
8
+ logger.info('Authenticating flow request');
9
+ if (request.method !== 'POST') {
10
+ logger.debug('Received a non-POST request for flow. Only POST requests are allowed.', { url: request.url, method: request.method });
11
+ throw new Response(undefined, {
12
+ status: 405,
13
+ statusText: 'Method not allowed',
14
+ });
15
+ }
16
+ const rawBody = await request.text();
17
+ const result = await api.flow.validate({
18
+ rawBody,
19
+ rawRequest: request,
20
+ });
21
+ if (!result.valid) {
22
+ logger.error('Received an invalid flow request', { reason: result.reason });
23
+ throw new Response(undefined, {
24
+ status: 400,
25
+ statusText: 'Bad Request',
26
+ });
27
+ }
28
+ const payload = JSON.parse(rawBody);
29
+ logger.debug('Flow request is valid, looking for an offline session', {
30
+ shop: payload.shopify_domain,
31
+ });
32
+ const sessionId = api.session.getOfflineId(payload.shopify_domain);
33
+ const session = await config.sessionStorage.loadSession(sessionId);
34
+ if (!session) {
35
+ logger.info('Flow request could not find session', {
36
+ shop: payload.shopify_domain,
37
+ });
38
+ throw new Response(undefined, {
39
+ status: 400,
40
+ statusText: 'Bad Request',
41
+ });
42
+ }
43
+ logger.debug('Found a session for the flow request', { shop: session.shop });
44
+ return {
45
+ session,
46
+ payload,
47
+ admin: factory.adminClientFactory({ params, session }),
48
+ };
49
+ };
50
+ }
51
+
52
+ exports.authenticateFlowFactory = authenticateFlowFactory;
53
+ //# sourceMappingURL=authenticate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate.js","sources":["../../../../../../src/server/authenticate/flow/authenticate.ts"],"sourcesContent":[null],"names":["adminClientFactory"],"mappings":";;;;AAOM,SAAU,uBAAuB,CAErC,MAAmB,EAAA;IACnB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,OAAO,eAAe,YAAY,CAChC,OAAgB,EAAA;AAEhB,QAAA,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAE3C,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;AAC7B,YAAA,MAAM,CAAC,KAAK,CACV,uEAAuE,EACvE,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAC3C,CAAC;AACF,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,oBAAoB;AACjC,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrC,OAAO;AACP,YAAA,UAAU,EAAE,OAAO;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACjB,YAAA,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAC,CAAC,CAAC;AAE1E,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAEpC,QAAA,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE;YACpE,IAAI,EAAE,OAAO,CAAC,cAAc;AAC7B,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACjD,IAAI,EAAE,OAAO,CAAC,cAAc;AAC7B,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC;QAE3E,OAAO;YACL,OAAO;YACP,OAAO;YACP,KAAK,EAAEA,0BAAkB,CAAY,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;SACxD,CAAC;AACJ,KAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var shopifyApi = require('@shopify/shopify-api');
4
+ var factory = require('../../clients/admin/factory.js');
5
+
6
+ function authenticateFulfillmentServiceFactory(params) {
7
+ const { api, config, logger } = params;
8
+ return async function authenticate(request) {
9
+ logger.info('Authenticating fulfillment service request');
10
+ if (request.method !== 'POST') {
11
+ logger.debug('Received a non-POST request for fulfillment service. Only POST requests are allowed.', { url: request.url, method: request.method });
12
+ throw new Response(undefined, {
13
+ status: 405,
14
+ statusText: 'Method not allowed',
15
+ });
16
+ }
17
+ const rawBody = await request.text();
18
+ const result = await api.fulfillmentService.validate({
19
+ rawBody,
20
+ rawRequest: request,
21
+ });
22
+ if (!result.valid) {
23
+ logger.error('Received an invalid fulfillment service request', {
24
+ reason: result.reason,
25
+ });
26
+ throw new Response(undefined, {
27
+ status: 400,
28
+ statusText: 'Bad Request',
29
+ });
30
+ }
31
+ const payload = JSON.parse(rawBody);
32
+ const shop = request.headers.get(shopifyApi.ShopifyHeader.Domain) || '';
33
+ logger.debug('Fulfillment service request is valid, looking for an offline session', {
34
+ shop,
35
+ });
36
+ const sessionId = api.session.getOfflineId(shop);
37
+ const session = await config.sessionStorage.loadSession(sessionId);
38
+ if (!session) {
39
+ logger.info('Fulfillment service request could not find session', {
40
+ shop,
41
+ });
42
+ throw new Response(undefined, {
43
+ status: 400,
44
+ statusText: 'Bad Request',
45
+ });
46
+ }
47
+ logger.debug('Found a session for the fulfillment service request', {
48
+ shop,
49
+ });
50
+ return {
51
+ session,
52
+ payload,
53
+ admin: factory.adminClientFactory({ params, session }),
54
+ };
55
+ };
56
+ }
57
+
58
+ exports.authenticateFulfillmentServiceFactory = authenticateFulfillmentServiceFactory;
59
+ //# sourceMappingURL=authenticate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate.js","sources":["../../../../../../src/server/authenticate/fulfillment-service/authenticate.ts"],"sourcesContent":[null],"names":["ShopifyHeader","adminClientFactory"],"mappings":";;;;;AAUM,SAAU,qCAAqC,CAEnD,MAAmB,EAAA;IACnB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,OAAO,eAAe,YAAY,CAChC,OAAgB,EAAA;AAEhB,QAAA,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;AAE1D,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;AAC7B,YAAA,MAAM,CAAC,KAAK,CACV,sFAAsF,EACtF,EAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAC3C,CAAC;AACF,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,oBAAoB;AACjC,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC;YACnD,OAAO;AACP,YAAA,UAAU,EAAE,OAAO;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACjB,YAAA,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;gBAC9D,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACpC,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAACA,wBAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAE7D,QAAA,MAAM,CAAC,KAAK,CACV,sEAAsE,EACtE;YACE,IAAI;AACL,SAAA,CACF,CAAC;QAEF,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEnE,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE;gBAChE,IAAI;AACL,aAAA,CAAC,CAAC;AACH,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;YAClE,IAAI;AACL,SAAA,CAAC,CAAC;QAEH,OAAO;YACL,OAAO;YACP,OAAO;YACP,KAAK,EAAEC,0BAAkB,CAAY,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;SACxD,CAAC;AACJ,KAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ function addDocumentResponseHeadersFactory(params) {
4
+ const { api, config } = params;
5
+ return function (request, headers) {
6
+ const { searchParams } = new URL(request.url);
7
+ const shop = api.utils.sanitizeShop(searchParams.get('shop'));
8
+ addDocumentResponseHeaders(headers, config.isEmbeddedApp, shop);
9
+ };
10
+ }
11
+ function addDocumentResponseHeaders(headers, isEmbeddedApp, shop) {
12
+ if (shop) {
13
+ headers.set('Link', '<https://cdn.shopify.com/shopifycloud/app-bridge.js>; rel="preload"; as="script";');
14
+ }
15
+ if (isEmbeddedApp) {
16
+ if (shop) {
17
+ headers.set('Content-Security-Policy', `frame-ancestors https://${shop} https://admin.shopify.com https://*.spin.dev;`);
18
+ }
19
+ }
20
+ else {
21
+ headers.set('Content-Security-Policy', `frame-ancestors 'none';`);
22
+ }
23
+ }
24
+
25
+ exports.addDocumentResponseHeaders = addDocumentResponseHeaders;
26
+ exports.addDocumentResponseHeadersFactory = addDocumentResponseHeadersFactory;
27
+ //# sourceMappingURL=add-response-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-response-headers.js","sources":["../../../../../../src/server/authenticate/helpers/add-response-headers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAOM,SAAU,iCAAiC,CAC/C,MAAmB,EAAA;AAEnB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAE7B,OAAO,UAAU,OAAgB,EAAE,OAAgB,EAAA;QACjD,MAAM,EAAC,YAAY,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,CAAC;QAE/D,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAClE,KAAC,CAAC;AACJ,CAAC;SAEe,0BAA0B,CACxC,OAAgB,EAChB,aAAsB,EACtB,IAA+B,EAAA;IAE/B,IAAI,IAAI,EAAE;AACR,QAAA,OAAO,CAAC,GAAG,CACT,MAAM,EACN,mFAAmF,CACpF,CAAC;KACH;IAED,IAAI,aAAa,EAAE;QACjB,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,GAAG,CACT,yBAAyB,EACzB,CAA2B,wBAAA,EAAA,IAAI,CAAgD,8CAAA,CAAA,CAChF,CAAC;SACH;KACF;SAAM;AACL,QAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAA,uBAAA,CAAyB,CAAC,CAAC;KACnE;AACH;;;;;"}
@@ -1,16 +1,15 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var _const = require('../const.js');
6
4
 
7
5
  let appBridgeUrlOverride;
8
6
  function setAppBridgeUrlOverride(url) {
9
- appBridgeUrlOverride = url;
7
+ appBridgeUrlOverride = url;
10
8
  }
11
9
  function appBridgeUrl() {
12
- return appBridgeUrlOverride || _const.APP_BRIDGE_URL;
10
+ return appBridgeUrlOverride || _const.APP_BRIDGE_URL;
13
11
  }
14
12
 
15
13
  exports.appBridgeUrl = appBridgeUrl;
16
14
  exports.setAppBridgeUrlOverride = setAppBridgeUrlOverride;
15
+ //# sourceMappingURL=app-bridge-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-bridge-url.js","sources":["../../../../../../src/server/authenticate/helpers/app-bridge-url.ts"],"sourcesContent":[null],"names":["APP_BRIDGE_URL"],"mappings":";;;;AAEA,IAAI,oBAAwC,CAAC;AACvC,SAAU,uBAAuB,CAAC,GAAW,EAAA;IACjD,oBAAoB,GAAG,GAAG,CAAC;AAC7B,CAAC;SAEe,YAAY,GAAA;IAC1B,OAAO,oBAAoB,IAAIA,qBAAc,CAAC;AAChD;;;;;"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var _const = require('../const.js');
4
+
5
+ function ensureCORSHeadersFactory(params, request, corsHeaders = []) {
6
+ const { logger, config } = params;
7
+ return function ensureCORSHeaders(response) {
8
+ const origin = request.headers.get('Origin');
9
+ if (origin && origin !== config.appUrl) {
10
+ logger.debug('Request comes from a different origin, adding CORS headers');
11
+ const corsHeadersSet = new Set([
12
+ 'Authorization',
13
+ 'Content-Type',
14
+ ...corsHeaders,
15
+ ]);
16
+ response.headers.set('Access-Control-Allow-Origin', '*');
17
+ response.headers.set('Access-Control-Allow-Headers', [...corsHeadersSet].join(', '));
18
+ response.headers.set('Access-Control-Expose-Headers', _const.REAUTH_URL_HEADER);
19
+ }
20
+ return response;
21
+ };
22
+ }
23
+
24
+ exports.ensureCORSHeadersFactory = ensureCORSHeadersFactory;
25
+ //# sourceMappingURL=ensure-cors-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-cors-headers.js","sources":["../../../../../../src/server/authenticate/helpers/ensure-cors-headers.ts"],"sourcesContent":[null],"names":["REAUTH_URL_HEADER"],"mappings":";;;;AAOM,SAAU,wBAAwB,CACtC,MAAmB,EACnB,OAAgB,EAChB,cAAwB,EAAE,EAAA;AAE1B,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAEhC,OAAO,SAAS,iBAAiB,CAAC,QAAQ,EAAA;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;AACtC,YAAA,MAAM,CAAC,KAAK,CACV,4DAA4D,CAC7D,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;gBAC7B,eAAe;gBACf,cAAc;AACd,gBAAA,GAAG,WAAW;AACf,aAAA,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;AACzD,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,8BAA8B,EAC9B,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;YACF,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAEA,wBAAiB,CAAC,CAAC;SAC1E;AAED,QAAA,OAAO,QAAQ,CAAC;AAClB,KAAC,CAAC;AACJ;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ const SESSION_TOKEN_PARAM = 'id_token';
4
+ function getSessionTokenHeader(request) {
5
+ return request.headers.get('authorization')?.replace('Bearer ', '');
6
+ }
7
+ function getSessionTokenFromUrlParam(request) {
8
+ const url = new URL(request.url);
9
+ return url.searchParams.get(SESSION_TOKEN_PARAM);
10
+ }
11
+
12
+ exports.getSessionTokenFromUrlParam = getSessionTokenFromUrlParam;
13
+ exports.getSessionTokenHeader = getSessionTokenHeader;
14
+ //# sourceMappingURL=get-session-token-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-session-token-header.js","sources":["../../../../../../src/server/authenticate/helpers/get-session-token-header.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAEjC,SAAU,qBAAqB,CAAC,OAAgB,EAAA;AACpD,IAAA,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAEK,SAAU,2BAA2B,CAAC,OAAgB,EAAA;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnD;;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ const IDENTIFIER_TTL_MS = 60000;
4
+ class IdempotentPromiseHandler {
5
+ constructor() {
6
+ this.identifiers = new Map();
7
+ }
8
+ async handlePromise({ promiseFunction, identifier, }) {
9
+ try {
10
+ if (this.isPromiseRunnable(identifier)) {
11
+ await promiseFunction();
12
+ }
13
+ }
14
+ finally {
15
+ this.clearStaleIdentifiers();
16
+ }
17
+ return Promise.resolve();
18
+ }
19
+ isPromiseRunnable(identifier) {
20
+ if (!this.identifiers.has(identifier)) {
21
+ this.identifiers.set(identifier, Date.now());
22
+ return true;
23
+ }
24
+ return false;
25
+ }
26
+ async clearStaleIdentifiers() {
27
+ this.identifiers.forEach((date, identifier, map) => {
28
+ if (Date.now() - date > IDENTIFIER_TTL_MS) {
29
+ map.delete(identifier);
30
+ }
31
+ });
32
+ }
33
+ }
34
+
35
+ exports.IdempotentPromiseHandler = IdempotentPromiseHandler;
36
+ //# sourceMappingURL=idempotent-promise-handler.js.map