@agnostack/next-shopify 1.8.15-alpha.8 → 1.8.15

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.
@@ -12,64 +12,15 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.handleAuth = void 0;
15
- const runtime_1 = require("@shopify/shopify-api/runtime");
16
- const shopify_api_1 = require("@shopify/shopify-api");
17
15
  const utils_1 = require("../../utils");
18
- const beginAuth = async (_a) => {
19
- // throwIfCustomStoreApp(
20
- // config.isCustomStoreApp,
21
- // 'Cannot perform OAuth for private apps',
22
- // );
23
- var { config, shop, callbackPath, isOnline, state: stateProp } = _a, adapterArgs = __rest(_a, ["config", "shop", "callbackPath", "isOnline", "state"]);
24
- const request = await runtime_1.abstractConvertRequest(adapterArgs);
25
- const response = await runtime_1.abstractConvertIncomingResponse(adapterArgs);
26
- // if (isbot(request.headers['User-Agent'])) {
27
- // logForBot({request, log, func: 'begin'});
28
- // response.statusCode = 410;
29
- // return abstractConvertResponse(response, adapterArgs);
30
- // }
31
- const cookies = new runtime_1.Cookies(request, response, {
32
- keys: [config.apiSecretKey],
33
- secure: true,
34
- });
35
- const state = stateProp !== null && stateProp !== void 0 ? stateProp : utils_1.getNonce();
36
- console.log(`>>> STATE ~ stateProp`, stateProp);
37
- console.log(`>>> STATE ~ state`, state);
38
- await cookies.setAndSign(shopify_api_1.STATE_COOKIE_NAME, state, {
39
- expires: new Date(Date.now() + 60000),
40
- sameSite: 'lax',
41
- secure: true,
42
- path: callbackPath,
43
- });
44
- const queryParams = new URLSearchParams({
45
- client_id: config.apiKey,
46
- scope: config.scopes.toString(),
47
- redirect_uri: `${config.hostScheme}://${config.hostName}${callbackPath}`,
48
- state,
49
- 'grant_options[]': isOnline ? 'per-user' : '',
50
- }).toString();
51
- // const processedQuery = new ProcessedQuery();
52
- // processedQuery.putAll(query);
53
- const { shop: cleanShop } = utils_1.getSanitizedShopData(shop);
54
- // const cleanShop = sanitizeShop(config)(shop, true)!;
55
- const redirectUrl = `https://${cleanShop}/admin/oauth/authorize?${queryParams}`;
56
- response.statusCode = 302;
57
- response.statusText = 'Found';
58
- response.headers = Object.assign(Object.assign(Object.assign({}, response.headers), cookies.response.headers), { Location: redirectUrl });
59
- return runtime_1.abstractConvertResponse(response, adapterArgs);
60
- };
61
16
  // NOTE: typically handling: "/api/auth/online" and "/api/auth/offline"
62
17
  const handleAuth = (serverRuntimeConfig) => async (req, res, params) => {
63
18
  var _a;
64
19
  const { PAGE_PATHS, API_PATHS, API_URLS, APP_CONFIG, } = serverRuntimeConfig;
65
20
  const { isOnline } = params !== null && params !== void 0 ? params : {};
66
- const _b = (_a = req.query) !== null && _a !== void 0 ? _a : {}, { reAuth: _reAuth } = _b, _query = __rest(_b, ["reAuth"]);
67
- const { embedded, host, shop: _shop, state } = _query;
21
+ const _b = (_a = req.query) !== null && _a !== void 0 ? _a : {}, { reAuth: _reAuth } = _b, query = __rest(_b, ["reAuth"]);
22
+ const { embedded, state, host, shop: _shop } = query;
68
23
  const reAuth = utils_1.isTrue(_reAuth, 'undefined');
69
- const onlineId = `AUTH-${isOnline ? 'ONLINE' : 'OFFLINE'} `;
70
- console.log(`>>> ~ ${onlineId} START`);
71
- console.log(`>>> ~ ${onlineId} params`, params);
72
- console.log(`>>> ~ ${onlineId} req.query`, req.query);
73
24
  const shopify = utils_1.getInitializedShopify(serverRuntimeConfig);
74
25
  const shop = shopify.utils.sanitizeShop(_shop);
75
26
  if (utils_1.stringEmpty(shop)) {
@@ -83,24 +34,15 @@ const handleAuth = (serverRuntimeConfig) => async (req, res, params) => {
83
34
  return res.redirect(`${PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.EXIT]}?${queryParams}`);
84
35
  }
85
36
  const callbackPath = utils_1.getCallback(API_PATHS, { reAuth, isOnline });
86
- console.log(`>>> ~ ${onlineId} callbackPath`, callbackPath);
87
- console.log(`>>> ~ ${onlineId} END`);
88
- return beginAuth({
89
- config: APP_CONFIG,
37
+ return utils_1.beginAuth({
90
38
  shop,
39
+ state,
91
40
  isOnline,
92
41
  callbackPath,
93
- state,
94
42
  rawRequest: req,
95
43
  rawResponse: res,
44
+ config: APP_CONFIG,
96
45
  });
97
- // return shopify.auth.begin({
98
- // shop,
99
- // isOnline,
100
- // callbackPath,
101
- // rawRequest: req,
102
- // rawResponse: res,
103
- // })
104
46
  };
105
47
  exports.handleAuth = handleAuth;
106
48
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/handlers/api/auth.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/handlers/api/auth.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAOoB;AAEpB,wEAAwE;AACjE,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;IAC5E,MAAM,EACJ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,GACX,GAAG,mBAAmB,CAAA;IACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IACjC,MAAM,KAAgC,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,EAA/C,EAAE,MAAM,EAAE,OAAO,OAA8B,EAAzB,KAAK,cAA3B,UAA6B,CAAkB,CAAA;IACrD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;IACpD,MAAM,MAAM,GAAG,cAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAE3C,MAAM,OAAO,GAAG,6BAAqB,CAAC,mBAAmB,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAE9C,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,wBAAgB,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;KACnG;IAED,IAAI,QAAQ,KAAK,GAAG,EAAE;QACpB,MAAM,WAAW,GAAG,mBAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC/D,oCAAoC;QACpC,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC/E,MAAM,WAAW,GAAG,IAAI,eAAe,iCAClC,MAAM,KACT,IAAI,EACJ,WAAW,EAAE,GAAG,WAAW,IAAI,iBAAiB,EAAE,IAClD,CAAC,QAAQ,EAAE,CAAA;QAEb,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,wBAAgB,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;KAC3E;IAED,MAAM,YAAY,GAAG,mBAAW,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;IAEjE,OAAO,iBAAS,CAAC;QACf,IAAI;QACJ,KAAK;QACL,QAAQ;QACR,YAAY;QACZ,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,GAAG;QAChB,MAAM,EAAE,UAAU;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA;AA3CY,QAAA,UAAU,cA2CtB"}
@@ -27,14 +27,10 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
27
27
  _f = utils_1.API_WEBHOOK_TOPICS.APP_UNINSTALLED,
28
28
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
29
  _uninstalledWebhook = _e[_f], webhooks = __rest(_e, [typeof _f === "symbol" ? _f : _f + ""]);
30
+ const errorPath = PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR];
30
31
  const { isOnline, reAuth } = params !== null && params !== void 0 ? params : {};
31
32
  const { shop, host, state } = (_a = req.query) !== null && _a !== void 0 ? _a : {};
32
33
  const authPayload = { rawRequest: req, rawResponse: res };
33
- const onlineId = `CALLBACK-${isOnline ? 'ONLINE' : 'OFFLINE'} `;
34
- console.log(`>>> ~ ${onlineId} START`);
35
- console.log(`>>> ~ ${onlineId} params`, params);
36
- console.log(`>>> ~ ${onlineId} req.query`, req.query);
37
- const errorPath = PAGE_PATHS[utils_1.PAGE_ROUTE_NAMES.ERROR];
38
34
  if (utils_1.stringEmpty(shop) || utils_1.stringEmpty(host)) {
39
35
  // HMMM: why is this a 303 (rather than a 302 or or anything)??
40
36
  return res.redirect(303, `${errorPath}?code=${utils_1.ERROR_CODES.INVALID_CALLBACK}`);
@@ -44,18 +40,22 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
44
40
  try {
45
41
  const { shopify: _shopify, storeSession, loadSession, ensureBilling } = await utils_1.getShopifyHelpers(serverRuntimeConfig, { shop });
46
42
  shopify = _shopify;
47
- // NOTE our review approach requires that all paid apps must support offline tokens
48
- const reviewMode = ((SHOPIFY_RUN_MODE === 'review') &&
49
- (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) &&
50
- API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]);
51
43
  const { session: _session } = await shopify.auth.callback(authPayload);
52
44
  const session = _session.toObject();
45
+ const isReviewMode = ((SHOPIFY_RUN_MODE === 'review') &&
46
+ (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) &&
47
+ API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]);
48
+ const shouldStoreSession = isOnline || !isReviewMode;
49
+ const shouldProcessOfflineAuth = isOnline && utils_1.objectNotEmpty(webhooks) && API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE];
50
+ const shouldRegisterWebhooks = !utils_1.isTrue(session === null || session === void 0 ? void 0 : session.isOnline) || !API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE];
51
+ const shouldCheckBilling = PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required;
53
52
  // NOTE: billingStatus is a custom field we add when we're in review mode to handle reauth billing correctly
54
53
  let billingStatus = 'PENDING';
55
- if (isOnline || !reviewMode) {
54
+ if (shouldStoreSession) {
56
55
  await storeSession(session);
57
56
  }
58
57
  else {
58
+ // NOTE our review approach requires that all paid apps must support offline tokens
59
59
  const offlineSession = await loadSession().catch((_error) => {
60
60
  // NOTE: first time install, this is expected
61
61
  if (!(_error instanceof utils_1.ShopifySessionMissingError)) {
@@ -66,26 +66,29 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
66
66
  await storeSession(Object.assign(Object.assign({}, session), { billingStatus }));
67
67
  }
68
68
  // NOTE: return early to set up an offline token as webhooks cannot use the online one to make API calls
69
- if (isOnline && utils_1.objectNotEmpty(webhooks) && API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]) {
69
+ if (shouldProcessOfflineAuth) {
70
70
  // TODO: explore objectToQuerystring
71
71
  const queryParams = new URLSearchParams({ host, shop, state, reAuth, isOnline: false }).toString();
72
72
  return res.redirect(302, `${API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]}?${queryParams}`);
73
73
  }
74
- if (!utils_1.isTrue(session === null || session === void 0 ? void 0 : session.isOnline) || !API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE]) {
74
+ if (shouldRegisterWebhooks) {
75
75
  const webhookHandlers = utils_1.getWebhookHandlers(serverRuntimeConfig);
76
76
  shopify.webhooks.addHandlers(webhookHandlers);
77
77
  // NOTE: webhooks cannot use an online session to make API calls to Shopify (but not all webooks may be doing that for all apps)
78
78
  await shopify.webhooks.register({ session });
79
79
  }
80
+ // NOTE this is the final/successful return URL
80
81
  redirectUrl = await shopify.auth.getEmbeddedAppUrl(authPayload);
81
- if (PAYMENT_CONFIG === null || PAYMENT_CONFIG === void 0 ? void 0 : PAYMENT_CONFIG.required) {
82
+ if (shouldCheckBilling) {
82
83
  // NOTE this ensures while in "review" mode that we rebill each time
83
- const skipBillingCheck = reviewMode && (!utils_1.isTrue(reAuth) || (billingStatus != 'ACTIVE'));
84
+ const skipBillingCheck = isReviewMode && (!utils_1.isTrue(reAuth) || (billingStatus != 'ACTIVE'));
84
85
  const confirmationUrl = await ensureBilling(session, skipBillingCheck);
85
86
  if (utils_1.stringNotEmpty(confirmationUrl)) {
86
87
  redirectUrl = confirmationUrl;
87
88
  }
88
89
  }
90
+ // NOTE confirm that state can be appended to the confirmationUrl,
91
+ // otherwise we can append to the redirectUrl above the billing check
89
92
  redirectUrl = utils_1.appendQuery(redirectUrl, new URLSearchParams({ state }).toString());
90
93
  }
91
94
  catch (error) {
@@ -112,7 +115,7 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
112
115
  ? authOnlinePath
113
116
  : API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
114
117
  // TODO: explore objectToQuerystring
115
- const queryParams = new URLSearchParams({ host, shop }).toString();
118
+ const queryParams = new URLSearchParams({ host, shop, state }).toString();
116
119
  redirectUrl = `${authPath}?${queryParams}`;
117
120
  break;
118
121
  }
@@ -124,7 +127,7 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
124
127
  ? authOnlinePath
125
128
  : API_PATHS[utils_1.API_ROUTE_NAMES.AUTH_OFFLINE] || authOnlinePath;
126
129
  // TODO: explore objectToQuerystring
127
- const queryParams = new URLSearchParams({ host, shop }).toString();
130
+ const queryParams = new URLSearchParams({ host, shop, state }).toString();
128
131
  redirectUrl = `${authPath}?${queryParams}`;
129
132
  break;
130
133
  }
@@ -150,8 +153,6 @@ const handleCallback = (serverRuntimeConfig) => async (req, res, params) => {
150
153
  }
151
154
  }
152
155
  }
153
- console.log(`>>> ~ ${onlineId} redirectUrl`, redirectUrl);
154
- console.log(`>>> ~ ${onlineId} END`);
155
156
  return res.redirect(302, redirectUrl);
156
157
  };
157
158
  exports.handleCallback = handleCallback;
@@ -1 +1 @@
1
- {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/handlers/api/callback.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/handlers/api/callback.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAM6B;AAE7B,uCAgBoB;AAEpB;;;;;EAKE;AACK,MAAM,cAAc,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;;IAChF,MAUI,KAAA,mBAAmB,EAVjB,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,gBAAgB,OAMK,EALrB,oBAIM,EAJN,qBAII,EAAE,KAAA;IAHJ,6DAA6D;IAC7D,KAAC,0BAAkB,CAAC,eAAgB;IADpC,6DAA6D;IACvB,mBAAmB,SAAA,EACtD,QAAQ,cAHC,uCAIb,CACoB,CAAA;IACvB,MAAM,SAAS,GAAG,UAAU,CAAC,wBAAgB,CAAC,KAAK,CAAC,CAAA;IACpD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;IACzC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAA,GAAG,CAAC,KAAK,mCAAI,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;IAEzD,IAAI,mBAAW,CAAC,IAAI,CAAC,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;QAC1C,+DAA+D;QAC/D,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,SAAS,SAAS,mBAAW,CAAC,gBAAgB,EAAE,CAAC,CAAA;KAC9E;IAED,IAAI,WAAW,GAAG,GAAG,SAAS,iCAAiC,CAAA;IAC/D,IAAI,OAAO,CAAA;IAEX,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,yBAAiB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9H,OAAO,GAAG,QAAQ,CAAA;QAElB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,YAAY,GAAG,CACnB,CAAC,gBAAgB,KAAK,QAAQ,CAAC;YAC/B,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC;YAC1B,SAAS,CAAC,uBAAe,CAAC,YAAY,CAAC,CACxC,CAAA;QACD,MAAM,kBAAkB,GAAG,QAAQ,IAAI,CAAC,YAAY,CAAA;QACpD,MAAM,wBAAwB,GAAG,QAAQ,IAAI,sBAAc,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,uBAAe,CAAC,YAAY,CAAC,CAAA;QAChH,MAAM,sBAAsB,GAAG,CAAC,cAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAe,CAAC,YAAY,CAAC,CAAA;QACrG,MAAM,kBAAkB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAA;QAEnD,4GAA4G;QAC5G,IAAI,aAAa,GAAG,SAAS,CAAA;QAC7B,IAAI,kBAAkB,EAAE;YACtB,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;SAC5B;aAAM;YACL,mFAAmF;YACnF,MAAM,cAAc,GAAG,MAAM,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1D,6CAA6C;gBAC7C,IAAI,CAAC,CAAC,MAAM,YAAY,kCAA0B,CAAC,EAAE;oBACnD,MAAM,MAAM,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YACF,aAAa,GAAG,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,KAAI,aAAa,CAAA;YAC9D,MAAM,YAAY,iCAAM,OAAO,KAAE,aAAa,IAAG,CAAA;SAClD;QAED,wGAAwG;QACxG,IAAI,wBAAwB,EAAE;YAC5B,oCAAoC;YACpC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;YAClG,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,uBAAe,CAAC,YAAY,CAAC,IAAI,WAAW,EAAE,CAAC,CAAA;SACtF;QAED,IAAI,sBAAsB,EAAE;YAC1B,MAAM,eAAe,GAAG,0BAAkB,CAAC,mBAAmB,CAAC,CAAA;YAC/D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAA;YAC7C,gIAAgI;YAChI,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;SAC7C;QAED,+CAA+C;QAC/C,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAE/D,IAAI,kBAAkB,EAAE;YACtB,oEAAoE;YACpE,MAAM,gBAAgB,GAAG,YAAY,IAAI,CAAC,CAAC,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,CAAC,CAAA;YAEzF,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YAEtE,IAAI,sBAAc,CAAC,eAAe,CAAC,EAAE;gBACnC,WAAW,GAAG,eAAe,CAAA;aAC9B;SACF;QAED,kEAAkE;QAClE,qEAAqE;QACrE,WAAW,GAAG,mBAAW,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;KAClF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;QACrD,MAAM,YAAY,GAAG,+BAA+B,CAAA;QAEpD,IAAI,YAAY,GAAG,SAAS,CAAA;QAC5B,IAAI,OAAO,EAAE;YACX,IAAI;gBACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;gBACxE,IAAI,sBAAc,CAAC,cAAc,CAAC,EAAE;oBAClC,YAAY,GAAG,GAAG,cAAc,GAAG,0BAAkB,CAAC,SAAS,CAAC,EAAE,CAAA;iBACnE;gBACH,oCAAoC;aACnC;YAAC,OAAO,OAAO,EAAE,GAAE;SACrB;QAED,QAAQ,IAAI,EAAE;YACZ,gDAAgD;YAChD,KAAK,KAAK,YAAY,8BAAgB,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBAEnE,kBAAkB;gBAClB,MAAM,cAAc,GAAG,SAAS,CAAC,uBAAe,CAAC,WAAW,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,QAAQ;oBACvB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,SAAS,CAAC,uBAAe,CAAC,YAAY,CAAC,IAAI,cAAc,CAAA;gBAE7D,oCAAoC;gBACpC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;gBACzE,WAAW,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAA;gBAC1C,MAAK;aACN;YAED,KAAK,KAAK,YAAY,4BAAc,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,uEAAuE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;gBAEnH,kBAAkB;gBAClB,MAAM,cAAc,GAAG,SAAS,CAAC,uBAAe,CAAC,WAAW,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,QAAQ;oBACvB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,SAAS,CAAC,uBAAe,CAAC,YAAY,CAAC,IAAI,cAAc,CAAA;gBAE7D,oCAAoC;gBACpC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;gBACzE,WAAW,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAA;gBAC1C,MAAK;aACN;YAED,KAAK,KAAK,YAAY,0BAAY,CAAC,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,mBAAmB,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;gBACjF,WAAW,GAAG,GAAG,YAAY,SAAS,mBAAW,CAAC,OAAO,EAAE,CAAA;gBAC3D,MAAK;aACN;YAED,KAAK,KAAK,YAAY,+BAAiB,CAAC,CAAC;gBACvC,MAAM,aAAa,GAAG,mBAAW,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,oBAAY,CAAC,OAAO,CAAC,CAAC,CAAA;gBACrG,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,wBAAwB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAChF,WAAW,GAAG,GAAG,YAAY,SAAS,mBAAW,CAAC,KAAK,EAAE,CAAA;gBACzD,MAAK;aACN;YAED,KAAK,KAAK,YAAY,+BAAiB,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,sBAAsB,EAAE,KAAK,CAAC,CAAA;gBAC3D,WAAW,GAAG,GAAG,YAAY,SAAS,mBAAW,CAAC,KAAK,EAAE,CAAA;gBACzD,MAAK;aACN;YAED,OAAO,CAAC,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;gBAClC,WAAW,GAAG,GAAG,YAAY,SAAS,mBAAW,CAAC,QAAQ,EAAE,CAAA;aAC7D;SACF;KACF;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AACvC,CAAC,CAAA;AAnKY,QAAA,cAAc,kBAmK1B"}
@@ -6,3 +6,4 @@ export * from "./errors";
6
6
  export * from "./firebase";
7
7
  export * from "./session";
8
8
  export * from "./shopify";
9
+ export * from "./shopify-api-js/oauth";
@@ -18,4 +18,5 @@ __exportStar(require("./errors"), exports);
18
18
  __exportStar(require("./firebase"), exports);
19
19
  __exportStar(require("./session"), exports);
20
20
  __exportStar(require("./shopify"), exports);
21
+ __exportStar(require("./shopify-api-js/oauth"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,2CAAwB;AACxB,4CAAyB;AACzB,2CAAwB;AACxB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,2CAAwB;AACxB,4CAAyB;AACzB,2CAAwB;AACxB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB;AACzB,yDAAsC"}
@@ -0,0 +1,8 @@
1
+ export function beginAuth({ config, isOnline, callbackPath, shop: shopProp, state: stateProp, ...adapterArgs }: {
2
+ [x: string]: any;
3
+ config: any;
4
+ isOnline: any;
5
+ callbackPath: any;
6
+ shop: any;
7
+ state: any;
8
+ }): Promise<any>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.beginAuth = void 0;
15
+ const runtime_1 = require("@shopify/shopify-api/runtime");
16
+ const shopify_api_1 = require("@shopify/shopify-api");
17
+ const crypto_1 = require("../crypto");
18
+ const shopify_1 = require("../shopify");
19
+ // NOTE this is a custom implementation of shopify.auth.begin from @shopify/shopify-api
20
+ // for leveraging a custom auth state
21
+ const beginAuth = async (_a) => {
22
+ // TODO re-enable
23
+ // throwIfCustomStoreApp(
24
+ // config.isCustomStoreApp,
25
+ // 'Cannot perform OAuth for private apps',
26
+ // );
27
+ var { config, isOnline, callbackPath, shop: shopProp, state: stateProp } = _a, adapterArgs = __rest(_a, ["config", "isOnline", "callbackPath", "shop", "state"]);
28
+ const request = await runtime_1.abstractConvertRequest(adapterArgs);
29
+ const response = await runtime_1.abstractConvertIncomingResponse(adapterArgs);
30
+ // TODO re-enable
31
+ // if (isbot(request.headers['User-Agent'])) {
32
+ // logForBot({request, log, func: 'begin'});
33
+ // response.statusCode = 410;
34
+ // return abstractConvertResponse(response, adapterArgs);
35
+ // }
36
+ const cookies = new runtime_1.Cookies(request, response, {
37
+ keys: [config.apiSecretKey],
38
+ secure: true,
39
+ });
40
+ const { shop } = shopify_1.getSanitizedShopData(shopProp);
41
+ const state = stateProp !== null && stateProp !== void 0 ? stateProp : crypto_1.getNonce();
42
+ await cookies.setAndSign(shopify_api_1.STATE_COOKIE_NAME, state, {
43
+ expires: new Date(Date.now() + 60000),
44
+ sameSite: 'lax',
45
+ secure: true,
46
+ path: callbackPath,
47
+ });
48
+ const queryParams = new URLSearchParams({
49
+ client_id: config.apiKey,
50
+ scope: config.scopes.toString(),
51
+ redirect_uri: `${config.hostScheme}://${config.hostName}${callbackPath}`,
52
+ state,
53
+ 'grant_options[]': isOnline ? 'per-user' : '',
54
+ }).toString();
55
+ response.statusCode = 302;
56
+ response.statusText = 'Found';
57
+ response.headers = Object.assign(Object.assign(Object.assign({}, response.headers), cookies.response.headers), { Location: `https://${shop}/admin/oauth/authorize?${queryParams}` });
58
+ return runtime_1.abstractConvertResponse(response, adapterArgs);
59
+ };
60
+ exports.beginAuth = beginAuth;
61
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/utils/shopify-api-js/oauth.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAAwI;AACxI,sDAAwD;AAExD,sCAAoC;AACpC,wCAAiD;AAEjD,uFAAuF;AACvF,qCAAqC;AAC9B,MAAM,SAAS,GAAG,KAAK,EAAE,EAO/B,EAAE,EAAE;IACH,iBAAiB;IACjB,yBAAyB;IACzB,6BAA6B;IAC7B,6CAA6C;IAC7C,KAAK;QAZyB,EAC9B,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,OAEjB,EADI,WAAW,cANgB,uDAO/B,CADe;IAQd,MAAM,OAAO,GAAG,MAAM,gCAAsB,CAAC,WAAW,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,yCAA+B,CAAC,WAAW,CAAC,CAAA;IAEnE,iBAAiB;IACjB,8CAA8C;IAC9C,8CAA8C;IAC9C,+BAA+B;IAC/B,2DAA2D;IAC3D,IAAI;IAEJ,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,EAAE,QAAQ,EAAE;QAC7C,IAAI,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3B,MAAM,EAAE,IAAI;KACb,CAAC,CAAA;IAEF,MAAM,EAAE,IAAI,EAAE,GAAG,8BAAoB,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,iBAAQ,EAAE,CAAA;IAErC,MAAM,OAAO,CAAC,UAAU,CAAC,+BAAiB,EAAE,KAAK,EAAE;QACjD,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,YAAY;KACnB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC,MAAM;QACxB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC/B,YAAY,EAAE,GAAG,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,QAAQ,GAAG,YAAY,EAAE;QACxE,KAAK;QACL,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KAC9C,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEb,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;IACzB,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAA;IAC7B,QAAQ,CAAC,OAAO,iDACX,QAAQ,CAAC,OAAO,GAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,KAC3B,QAAQ,EAAE,WAAW,IAAI,0BAA0B,WAAW,EAAE,GACjE,CAAA;IAED,OAAO,iCAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;AACvD,CAAC,CAAA;AAxDY,QAAA,SAAS,aAwDrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agnostack/next-shopify",
3
- "version": "1.8.15-alpha.8",
3
+ "version": "1.8.15",
4
4
  "author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
5
5
  "owner": "agnoStack",
6
6
  "description": "Please contact agnoStack via info@agnostack.com for any questions",