@shopify/shopify-app-remix 3.0.2 → 3.2.0
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.
- package/README.md +56 -12
- package/dist/cjs/server/adapters/node/index.js +1 -0
- package/dist/cjs/server/adapters/node/index.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/authenticate.js +19 -8
- package/dist/cjs/server/authenticate/admin/authenticate.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/billing/cancel.js +1 -0
- package/dist/cjs/server/authenticate/admin/billing/cancel.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/billing/check.js +2 -1
- package/dist/cjs/server/authenticate/admin/billing/check.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/billing/request.js +1 -0
- package/dist/cjs/server/authenticate/admin/billing/request.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/billing/require.js +1 -0
- package/dist/cjs/server/authenticate/admin/billing/require.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-install-page.js +37 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect-to-install-page.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/helpers/redirect.js +57 -4
- package/dist/cjs/server/authenticate/admin/helpers/redirect.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js +13 -2
- package/dist/cjs/server/authenticate/admin/helpers/validate-shop-and-host-params.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js +26 -0
- package/dist/cjs/server/authenticate/admin/scope/client/fetch-scopes-details.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js +26 -0
- package/dist/cjs/server/authenticate/admin/scope/client/revoke-scopes.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/scope/factory.js +16 -0
- package/dist/cjs/server/authenticate/admin/scope/factory.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/scope/query.js +30 -0
- package/dist/cjs/server/authenticate/admin/scope/query.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/scope/request.js +25 -0
- package/dist/cjs/server/authenticate/admin/scope/request.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/scope/revoke.js +41 -0
- package/dist/cjs/server/authenticate/admin/scope/revoke.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js +5 -0
- package/dist/cjs/server/authenticate/admin/strategies/auth-code-flow.js.map +1 -1
- package/dist/cjs/server/authenticate/admin/strategies/merchant-custom-app.js +39 -0
- package/dist/cjs/server/authenticate/admin/strategies/merchant-custom-app.js.map +1 -0
- package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js +9 -1
- package/dist/cjs/server/authenticate/admin/strategies/token-exchange.js.map +1 -1
- package/dist/cjs/server/authenticate/flow/authenticate.js.map +1 -1
- package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js +5 -3
- package/dist/cjs/server/authenticate/fulfillment-service/authenticate.js.map +1 -1
- package/dist/cjs/server/authenticate/helpers/create-or-load-offline-session.js +19 -0
- package/dist/cjs/server/authenticate/helpers/create-or-load-offline-session.js.map +1 -0
- package/dist/cjs/server/authenticate/helpers/invalidate-access-token.js.map +1 -1
- package/dist/cjs/server/authenticate/public/appProxy/authenticate.js.map +1 -1
- package/dist/cjs/server/authenticate/public/extension/authenticate.js +1 -0
- package/dist/cjs/server/authenticate/public/extension/authenticate.js.map +1 -1
- package/dist/cjs/server/authenticate/webhooks/authenticate.js +4 -3
- package/dist/cjs/server/authenticate/webhooks/authenticate.js.map +1 -1
- package/dist/cjs/server/boundary/headers.js.map +1 -1
- package/dist/cjs/server/future/flags.js +3 -0
- package/dist/cjs/server/future/flags.js.map +1 -1
- package/dist/cjs/server/shopify-app.js +22 -5
- package/dist/cjs/server/shopify-app.js.map +1 -1
- package/dist/cjs/server/test-helpers/index.js +8 -0
- package/dist/cjs/server/test-helpers/index.js.map +1 -0
- package/dist/cjs/server/test-helpers/test-config.js +33 -0
- package/dist/cjs/server/test-helpers/test-config.js.map +1 -0
- package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js +4 -3
- package/dist/cjs/server/unauthenticated/helpers/get-offline-session.js.map +1 -1
- package/dist/cjs/server/version.js +1 -1
- package/dist/cjs/session-storage/shopify-app-session-storage-memory/dist/esm/memory.js +29 -0
- package/dist/cjs/session-storage/shopify-app-session-storage-memory/dist/esm/memory.js.map +1 -0
- package/dist/esm/server/adapters/node/index.mjs +1 -0
- package/dist/esm/server/adapters/node/index.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/authenticate.mjs +19 -8
- package/dist/esm/server/authenticate/admin/authenticate.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/billing/cancel.mjs +1 -0
- package/dist/esm/server/authenticate/admin/billing/cancel.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/billing/check.mjs +2 -1
- package/dist/esm/server/authenticate/admin/billing/check.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/billing/request.mjs +1 -0
- package/dist/esm/server/authenticate/admin/billing/request.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/billing/require.mjs +1 -0
- package/dist/esm/server/authenticate/admin/billing/require.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-install-page.mjs +35 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect-to-install-page.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/helpers/redirect.mjs +57 -4
- package/dist/esm/server/authenticate/admin/helpers/redirect.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs +13 -2
- package/dist/esm/server/authenticate/admin/helpers/validate-shop-and-host-params.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs +24 -0
- package/dist/esm/server/authenticate/admin/scope/client/fetch-scopes-details.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs +24 -0
- package/dist/esm/server/authenticate/admin/scope/client/revoke-scopes.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/scope/factory.mjs +14 -0
- package/dist/esm/server/authenticate/admin/scope/factory.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/scope/query.mjs +27 -0
- package/dist/esm/server/authenticate/admin/scope/query.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/scope/request.mjs +23 -0
- package/dist/esm/server/authenticate/admin/scope/request.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/scope/revoke.mjs +39 -0
- package/dist/esm/server/authenticate/admin/scope/revoke.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs +5 -0
- package/dist/esm/server/authenticate/admin/strategies/auth-code-flow.mjs.map +1 -1
- package/dist/esm/server/authenticate/admin/strategies/merchant-custom-app.mjs +37 -0
- package/dist/esm/server/authenticate/admin/strategies/merchant-custom-app.mjs.map +1 -0
- package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs +9 -1
- package/dist/esm/server/authenticate/admin/strategies/token-exchange.mjs.map +1 -1
- package/dist/esm/server/authenticate/flow/authenticate.mjs.map +1 -1
- package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs +5 -3
- package/dist/esm/server/authenticate/fulfillment-service/authenticate.mjs.map +1 -1
- package/dist/esm/server/authenticate/helpers/create-or-load-offline-session.mjs +17 -0
- package/dist/esm/server/authenticate/helpers/create-or-load-offline-session.mjs.map +1 -0
- package/dist/esm/server/authenticate/helpers/invalidate-access-token.mjs.map +1 -1
- package/dist/esm/server/authenticate/public/appProxy/authenticate.mjs.map +1 -1
- package/dist/esm/server/authenticate/public/extension/authenticate.mjs +1 -0
- package/dist/esm/server/authenticate/public/extension/authenticate.mjs.map +1 -1
- package/dist/esm/server/authenticate/webhooks/authenticate.mjs +4 -3
- package/dist/esm/server/authenticate/webhooks/authenticate.mjs.map +1 -1
- package/dist/esm/server/boundary/headers.mjs.map +1 -1
- package/dist/esm/server/future/flags.mjs +3 -0
- package/dist/esm/server/future/flags.mjs.map +1 -1
- package/dist/esm/server/shopify-app.mjs +22 -5
- package/dist/esm/server/shopify-app.mjs.map +1 -1
- package/dist/esm/server/test-helpers/index.mjs +2 -0
- package/dist/esm/server/test-helpers/index.mjs.map +1 -0
- package/dist/esm/server/test-helpers/test-config.mjs +31 -0
- package/dist/esm/server/test-helpers/test-config.mjs.map +1 -0
- package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs +4 -3
- package/dist/esm/server/unauthenticated/helpers/get-offline-session.mjs.map +1 -1
- package/dist/esm/server/version.mjs +1 -1
- package/dist/esm/session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs +27 -0
- package/dist/esm/session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs.map +1 -0
- package/dist/ts/server/authenticate/admin/authenticate.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/billing/check.d.ts +1 -1
- package/dist/ts/server/authenticate/admin/billing/check.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/billing/types.d.ts +21 -4
- package/dist/ts/server/authenticate/admin/billing/types.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/helpers/redirect-to-install-page.d.ts +3 -0
- package/dist/ts/server/authenticate/admin/helpers/redirect-to-install-page.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/helpers/redirect.d.ts +2 -2
- package/dist/ts/server/authenticate/admin/helpers/redirect.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts +1 -1
- package/dist/ts/server/authenticate/admin/helpers/validate-shop-and-host-params.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts +18 -0
- package/dist/ts/server/authenticate/admin/scope/client/fetch-scopes-details.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/client/revoke-scopes.d.ts +12 -0
- package/dist/ts/server/authenticate/admin/scope/client/revoke-scopes.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/factory.d.ts +6 -0
- package/dist/ts/server/authenticate/admin/scope/factory.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/query.d.ts +8 -0
- package/dist/ts/server/authenticate/admin/scope/query.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/request.d.ts +5 -0
- package/dist/ts/server/authenticate/admin/scope/request.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/revoke.d.ts +7 -0
- package/dist/ts/server/authenticate/admin/scope/revoke.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/scope/types.d.ts +14 -0
- package/dist/ts/server/authenticate/admin/scope/types.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/strategies/auth-code-flow.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/strategies/merchant-custom-app.d.ts +16 -0
- package/dist/ts/server/authenticate/admin/strategies/merchant-custom-app.d.ts.map +1 -0
- package/dist/ts/server/authenticate/admin/strategies/token-exchange.d.ts.map +1 -1
- package/dist/ts/server/authenticate/admin/types.d.ts +12 -3
- package/dist/ts/server/authenticate/admin/types.d.ts.map +1 -1
- package/dist/ts/server/authenticate/fulfillment-service/authenticate.d.ts.map +1 -1
- package/dist/ts/server/authenticate/helpers/create-or-load-offline-session.d.ts +3 -0
- package/dist/ts/server/authenticate/helpers/create-or-load-offline-session.d.ts.map +1 -0
- package/dist/ts/server/authenticate/helpers/index.d.ts +1 -0
- package/dist/ts/server/authenticate/helpers/index.d.ts.map +1 -1
- package/dist/ts/server/authenticate/webhooks/authenticate.d.ts.map +1 -1
- package/dist/ts/server/config-types.d.ts +5 -2
- package/dist/ts/server/config-types.d.ts.map +1 -1
- package/dist/ts/server/future/flags.d.ts +7 -0
- package/dist/ts/server/future/flags.d.ts.map +1 -1
- package/dist/ts/server/index.d.ts +2 -1
- package/dist/ts/server/index.d.ts.map +1 -1
- package/dist/ts/server/shopify-app.d.ts.map +1 -1
- package/dist/ts/server/test-helpers/index.d.ts +2 -0
- package/dist/ts/server/test-helpers/index.d.ts.map +1 -0
- package/dist/ts/server/test-helpers/test-config.d.ts +36 -0
- package/dist/ts/server/test-helpers/test-config.d.ts.map +1 -0
- package/dist/ts/server/types-contexts.d.ts +4 -1
- package/dist/ts/server/types-contexts.d.ts.map +1 -1
- package/dist/ts/server/types.d.ts +6 -3
- package/dist/ts/server/types.d.ts.map +1 -1
- package/dist/ts/server/unauthenticated/helpers/get-offline-session.d.ts +1 -1
- package/dist/ts/server/unauthenticated/helpers/get-offline-session.d.ts.map +1 -1
- package/dist/ts/server/version.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +36 -31
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var revokeScopes = require('./client/revoke-scopes.js');
|
|
4
|
+
var fetchScopesDetails = require('./client/fetch-scopes-details.js');
|
|
5
|
+
var query = require('./query.js');
|
|
6
|
+
|
|
7
|
+
function revokeScopesFactory(params, session, admin) {
|
|
8
|
+
return async function revoke(scopes) {
|
|
9
|
+
const { logger } = params;
|
|
10
|
+
logger.debug('Revoke scopes: ', {
|
|
11
|
+
shop: session.shop,
|
|
12
|
+
scopes,
|
|
13
|
+
});
|
|
14
|
+
await validateScopes(scopes);
|
|
15
|
+
const revokeScopesResult = await revokeScopes.revokeScopes(admin, scopes);
|
|
16
|
+
if (revokeScopesResult.userErrors?.length > 0) {
|
|
17
|
+
logger.error('Failed to revoke scopes: ', {
|
|
18
|
+
shop: session.shop,
|
|
19
|
+
errors: revokeScopesResult.userErrors,
|
|
20
|
+
});
|
|
21
|
+
throw new Response(JSON.stringify(revokeScopesResult.userErrors), {
|
|
22
|
+
status: 422,
|
|
23
|
+
headers: {
|
|
24
|
+
'Content-Type': 'application/json',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const scopesDetail = await fetchScopesDetails.fetchScopeDetail(admin);
|
|
29
|
+
return {
|
|
30
|
+
detail: query.mapFetchScopeDetail(scopesDetail),
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async function validateScopes(scopes) {
|
|
35
|
+
if (!scopes || scopes.length === 0) {
|
|
36
|
+
throw new Response('No scopes provided', { status: 400 });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
exports.revokeScopesFactory = revokeScopesFactory;
|
|
41
|
+
//# sourceMappingURL=revoke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revoke.js","sources":["../../../../../../../src/server/authenticate/admin/scope/revoke.ts"],"sourcesContent":[null],"names":["revokeScopes","fetchScopeDetail","mapFetchScopeDetail"],"mappings":";;;;;;SASgB,mBAAmB,CACjC,MAAmB,EACnB,OAAgB,EAChB,KAAsB,EAAA;AAEtB,IAAA,OAAO,eAAe,MAAM,CAAC,MAAgB,EAAA;AAC3C,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM;AACP,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAE7B,MAAM,kBAAkB,GAAG,MAAMA,yBAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,YAAA,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,kBAAkB,CAAC,UAAU;AACtC,aAAA,CAAC,CAAC;YAEH,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;AAChE,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,OAAO,EAAE;AACP,oBAAA,cAAc,EAAE,kBAAkB;AACnC,iBAAA;AACF,aAAA,CAAC,CAAC;SACJ;AAED,QAAA,MAAM,YAAY,GAAG,MAAMC,mCAAgB,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO;AACL,YAAA,MAAM,EAAEC,yBAAmB,CAAC,YAAY,CAAC;SAC1C,CAAC;AACJ,KAAC,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC,MAAgB,EAAA;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,MAAM,IAAI,QAAQ,CAAC,oBAAoB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;KACzD;AACH;;;;"}
|
|
@@ -11,6 +11,7 @@ var getSessionTokenHeader = require('../../helpers/get-session-token-header.js')
|
|
|
11
11
|
var triggerAfterAuthHook = require('../helpers/trigger-after-auth-hook.js');
|
|
12
12
|
var validateShopAndHostParams = require('../helpers/validate-shop-and-host-params.js');
|
|
13
13
|
require('isbot');
|
|
14
|
+
require('../../../types.js');
|
|
14
15
|
|
|
15
16
|
class AuthCodeFlowStrategy {
|
|
16
17
|
api;
|
|
@@ -135,6 +136,10 @@ class AuthCodeFlowStrategy {
|
|
|
135
136
|
logger.info('Requesting online access token for offline session');
|
|
136
137
|
await beginAuth.beginAuth({ api, config, logger }, request, true, shop);
|
|
137
138
|
}
|
|
139
|
+
logger.debug('Request is valid, loaded session from OAuth callback', {
|
|
140
|
+
shop: session.shop,
|
|
141
|
+
isOnline: session.isOnline,
|
|
142
|
+
});
|
|
138
143
|
await triggerAfterAuthHook.triggerAfterAuthHook({ api, config, logger }, session, request, this);
|
|
139
144
|
throw await redirectToShopifyOrAppRoot.redirectToShopifyOrAppRoot(request, { api, config, logger }, responseHeaders);
|
|
140
145
|
}
|
|
@@ -1 +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":"
|
|
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":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var shopifyApi = require('@shopify/shopify-api');
|
|
4
|
+
require('@remix-run/server-runtime');
|
|
5
|
+
var handleClientError = require('../helpers/handle-client-error.js');
|
|
6
|
+
|
|
7
|
+
class MerchantCustomAuth {
|
|
8
|
+
api;
|
|
9
|
+
config;
|
|
10
|
+
logger;
|
|
11
|
+
constructor({ api, config, logger }) {
|
|
12
|
+
this.api = api;
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.logger = logger;
|
|
15
|
+
}
|
|
16
|
+
async respondToOAuthRequests(_request) {
|
|
17
|
+
this.logger.debug('Skipping OAuth request for merchant custom app');
|
|
18
|
+
}
|
|
19
|
+
async authenticate(_request, sessionContext) {
|
|
20
|
+
const { shop } = sessionContext;
|
|
21
|
+
this.logger.debug('Building session from configured access token for merchant custom app');
|
|
22
|
+
const session = this.api.session.customAppSession(shop);
|
|
23
|
+
return session;
|
|
24
|
+
}
|
|
25
|
+
handleClientError(request) {
|
|
26
|
+
return handleClientError.handleClientErrorFactory({
|
|
27
|
+
request,
|
|
28
|
+
onError: async ({ error }) => {
|
|
29
|
+
if (error.response.code === 401) {
|
|
30
|
+
this.logger.info('Request failed with 401. Review your API credentials or generate new tokens. https://shopify.dev/docs/apps/build/authentication-authorization/access-token-types/generate-app-access-tokens-admin#rotating-api-credentials-for-admin-created-apps ');
|
|
31
|
+
throw new shopifyApi.ShopifyError('Unauthorized: Access token has been revoked.');
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.MerchantCustomAuth = MerchantCustomAuth;
|
|
39
|
+
//# sourceMappingURL=merchant-custom-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merchant-custom-app.js","sources":["../../../../../../../src/server/authenticate/admin/strategies/merchant-custom-app.ts"],"sourcesContent":[null],"names":["handleClientErrorFactory","ShopifyError"],"mappings":";;;;;;MAkBa,kBAAkB,CAAA;AAGnB,IAAA,GAAG,CAIX;AAEQ,IAAA,MAAM,CAAY;AAClB,IAAA,MAAM,CAAoB;AAEpC,IAAA,WAAA,CAAmB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAgC,EAAA;AACrE,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,QAAiB,EAAA;AACnD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;AAEM,IAAA,MAAM,YAAY,CACvB,QAAiB,EACjB,cAA8B,EAAA;AAE9B,QAAA,MAAM,EAAC,IAAI,EAAC,GAAG,cAAc,CAAC;AAE9B,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,uEAAuE,CACxE,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAExD,QAAA,OAAO,OAAO,CAAC;KAChB;AAEM,IAAA,iBAAiB,CAAC,OAAgB,EAAA;AACvC,QAAA,OAAOA,0CAAwB,CAAC;YAC9B,OAAO;AACP,YAAA,OAAO,EAAE,OAAO,EAAC,KAAK,EAAiB,KAAI;gBACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AAC/B,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oPAAoP,CACrP,CAAC;AACF,oBAAA,MAAM,IAAIC,uBAAY,CACpB,8CAA8C,CAC/C,CAAC;iBACH;aACF;AACF,SAAA,CAAC,CAAC;KACJ;AACF;;;;"}
|
|
@@ -4,6 +4,7 @@ var shopifyApi = require('@shopify/shopify-api');
|
|
|
4
4
|
var respondToInvalidSessionToken = require('../../helpers/respond-to-invalid-session-token.js');
|
|
5
5
|
var invalidateAccessToken = require('../../helpers/invalidate-access-token.js');
|
|
6
6
|
require('isbot');
|
|
7
|
+
require('../../../types.js');
|
|
7
8
|
require('@remix-run/server-runtime');
|
|
8
9
|
var handleClientError = require('../helpers/handle-client-error.js');
|
|
9
10
|
var triggerAfterAuthHook = require('../helpers/trigger-after-auth-hook.js');
|
|
@@ -45,10 +46,17 @@ class TokenExchangeStrategy {
|
|
|
45
46
|
await config.sessionStorage.storeSession(onlineSession);
|
|
46
47
|
newSession = onlineSession;
|
|
47
48
|
}
|
|
49
|
+
logger.debug('Request is valid, loaded session from session token', {
|
|
50
|
+
shop: newSession.shop,
|
|
51
|
+
isOnline: newSession.isOnline,
|
|
52
|
+
});
|
|
48
53
|
try {
|
|
49
54
|
await this.handleAfterAuthHook({ api, config, logger }, newSession, request, sessionToken);
|
|
50
55
|
}
|
|
51
|
-
catch (
|
|
56
|
+
catch (errorOrResponse) {
|
|
57
|
+
if (errorOrResponse instanceof Response) {
|
|
58
|
+
throw errorOrResponse;
|
|
59
|
+
}
|
|
52
60
|
throw new Response(undefined, {
|
|
53
61
|
status: 500,
|
|
54
62
|
statusText: 'Internal Server Error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-exchange.js","sources":["../../../../../../../src/server/authenticate/admin/strategies/token-exchange.ts"],"sourcesContent":[null],"names":["InvalidJwtError","RequestedTokenType","handleClientErrorFactory","invalidateAccessToken","respondToInvalidSessionToken","HttpResponseError","triggerAfterAuthHook"],"mappings":"
|
|
1
|
+
{"version":3,"file":"token-exchange.js","sources":["../../../../../../../src/server/authenticate/admin/strategies/token-exchange.ts"],"sourcesContent":[null],"names":["InvalidJwtError","RequestedTokenType","handleClientErrorFactory","invalidateAccessToken","respondToInvalidSessionToken","HttpResponseError","triggerAfterAuthHook"],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,cAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEpE,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;;;;"}
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var shopifyApi = require('@shopify/shopify-api');
|
|
4
4
|
var factory = require('../../clients/admin/factory.js');
|
|
5
|
+
require('@remix-run/server-runtime');
|
|
6
|
+
require('isbot');
|
|
7
|
+
var createOrLoadOfflineSession = require('../helpers/create-or-load-offline-session.js');
|
|
5
8
|
|
|
6
9
|
function authenticateFulfillmentServiceFactory(params) {
|
|
7
|
-
const { api,
|
|
10
|
+
const { api, logger } = params;
|
|
8
11
|
return async function authenticate(request) {
|
|
9
12
|
logger.info('Authenticating fulfillment service request');
|
|
10
13
|
if (request.method !== 'POST') {
|
|
@@ -33,8 +36,7 @@ function authenticateFulfillmentServiceFactory(params) {
|
|
|
33
36
|
logger.debug('Fulfillment service request is valid, looking for an offline session', {
|
|
34
37
|
shop,
|
|
35
38
|
});
|
|
36
|
-
const
|
|
37
|
-
const session = await config.sessionStorage.loadSession(sessionId);
|
|
39
|
+
const session = await createOrLoadOfflineSession.createOrLoadOfflineSession(shop, params);
|
|
38
40
|
if (!session) {
|
|
39
41
|
logger.info('Fulfillment service request could not find session', {
|
|
40
42
|
shop,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.js","sources":["../../../../../../src/server/authenticate/fulfillment-service/authenticate.ts"],"sourcesContent":[null],"names":["ShopifyHeader","adminClientFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate.js","sources":["../../../../../../src/server/authenticate/fulfillment-service/authenticate.ts"],"sourcesContent":[null],"names":["ShopifyHeader","createOrLoadOfflineSession","adminClientFactory"],"mappings":";;;;;;;;AAWM,SAAU,qCAAqC,CAEnD,MAAmB,EAAA;AACnB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,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,OAAO,GAAG,MAAMC,qDAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/D,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,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var types = require('../../types.js');
|
|
4
|
+
|
|
5
|
+
async function createOrLoadOfflineSession(shop, { api, config, logger }) {
|
|
6
|
+
if (config.distribution === types.AppDistribution.ShopifyAdmin) {
|
|
7
|
+
logger.debug('Creating custom app session from configured access token');
|
|
8
|
+
return api.session.customAppSession(shop);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
logger.debug('Loading offline session from session storage');
|
|
12
|
+
const offlineSessionId = api.session.getOfflineId(shop);
|
|
13
|
+
const session = await config.sessionStorage.loadSession(offlineSessionId);
|
|
14
|
+
return session;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.createOrLoadOfflineSession = createOrLoadOfflineSession;
|
|
19
|
+
//# sourceMappingURL=create-or-load-offline-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-or-load-offline-session.js","sources":["../../../../../../src/server/authenticate/helpers/create-or-load-offline-session.ts"],"sourcesContent":[null],"names":["AppDistribution"],"mappings":";;;;AAEO,eAAe,0BAA0B,CAC9C,IAAY,EACZ,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAc,EAAA;IAElC,IAAI,MAAM,CAAC,YAAY,KAAKA,qBAAe,CAAC,YAAY,EAAE;AACxD,QAAA,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC3C;SAAM;AACL,QAAA,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAE3E,QAAA,OAAO,OAAO,CAAC;KAChB;AACH;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invalidate-access-token.js","sources":["../../../../../../src/server/authenticate/helpers/invalidate-access-token.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIO,eAAe,qBAAqB,CACzC,MAAmB,EACnB,OAAgB,EAAA;AAEhB,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAEhC,MAAM,CAAC,KAAK,CAAC,CAAA,wCAAA,EAA2C,OAAO,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC;AAEtE,IAAA,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAChC,MAAM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"invalidate-access-token.js","sources":["../../../../../../src/server/authenticate/helpers/invalidate-access-token.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAIO,eAAe,qBAAqB,CACzC,MAAmB,EACnB,OAAgB,EAAA;AAEhB,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAEhC,MAAM,CAAC,KAAK,CAAC,CAAA,wCAAA,EAA2C,OAAO,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC;AAEtE,IAAA,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAChC,MAAM,MAAM,CAAC,cAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACrD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.js","sources":["../../../../../../../src/server/authenticate/public/appProxy/authenticate.ts"],"sourcesContent":[null],"names":["adminClientFactory","storefrontClientFactory"],"mappings":";;;;;AAYM,SAAU,2BAA2B,CAEzC,MAAmB,EAAA;IACnB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAErC,IAAA,OAAO,eAAe,YAAY,CAChC,OAAO,EAAA;AAEP,QAAA,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,EAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE;AAC9C,YAAA,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AACvD,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA,CAAC,CAAC;SACJ;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"authenticate.js","sources":["../../../../../../../src/server/authenticate/public/appProxy/authenticate.ts"],"sourcesContent":[null],"names":["adminClientFactory","storefrontClientFactory"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ var getSessionTokenHeader = require('../../helpers/get-session-token-header.js')
|
|
|
6
6
|
var rejectBotRequest = require('../../helpers/reject-bot-request.js');
|
|
7
7
|
var respondToOptionsRequest = require('../../helpers/respond-to-options-request.js');
|
|
8
8
|
require('@remix-run/server-runtime');
|
|
9
|
+
require('../../../types.js');
|
|
9
10
|
|
|
10
11
|
function authenticateExtensionFactory(params, requestType) {
|
|
11
12
|
return async function authenticateExtension(request, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.js","sources":["../../../../../../../src/server/authenticate/public/extension/authenticate.ts"],"sourcesContent":[null],"names":["respondToBotRequest","respondToOptionsRequest","getSessionTokenHeader","validateSessionToken","ensureCORSHeadersFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate.js","sources":["../../../../../../../src/server/authenticate/public/extension/authenticate.ts"],"sourcesContent":[null],"names":["respondToBotRequest","respondToOptionsRequest","getSessionTokenHeader","validateSessionToken","ensureCORSHeadersFactory"],"mappings":";;;;;;;;;;AAYgB,SAAA,4BAA4B,CAC1C,MAAmB,EACnB,WAAmB,EAAA;IAEnB,OAAO,eAAe,qBAAqB,CACzC,OAAO,EACP,OAAO,GAAG,EAAE,EAAA;AAEZ,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;AAExB,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;AAE9C,QAAAA,oCAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,QAAAC,+CAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAEtD,QAAA,MAAM,kBAAkB,GAAGC,2CAAqB,CAAC,OAAO,CAAC,CAAC;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAA,QAAA,CAAU,CAAC,CAAC;QAErD,IAAI,CAAC,kBAAkB,EAAE;AACvB,YAAA,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AACxD,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,cAAc;AAC3B,aAAA,CAAC,CAAC;SACJ;QAED,OAAO;AACL,YAAA,YAAY,EAAE,MAAMC,yCAAoB,CACtC,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,EAAC,aAAa,EAAE,KAAK,EAAC,CACvB;YACD,IAAI,EAAEC,0CAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;SAC7D,CAAC;AACJ,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -4,9 +4,11 @@ var shopifyApi = require('@shopify/shopify-api');
|
|
|
4
4
|
var factory = require('../../clients/admin/factory.js');
|
|
5
5
|
require('@remix-run/server-runtime');
|
|
6
6
|
var handleClientError = require('../admin/helpers/handle-client-error.js');
|
|
7
|
+
require('isbot');
|
|
8
|
+
var createOrLoadOfflineSession = require('../helpers/create-or-load-offline-session.js');
|
|
7
9
|
|
|
8
10
|
function authenticateWebhookFactory(params) {
|
|
9
|
-
const { api,
|
|
11
|
+
const { api, logger } = params;
|
|
10
12
|
return async function authenticate(request) {
|
|
11
13
|
if (request.method !== 'POST') {
|
|
12
14
|
logger.debug('Received a non-POST request for a webhook. Only POST requests are allowed.', { url: request.url, method: request.method });
|
|
@@ -33,8 +35,7 @@ function authenticateWebhookFactory(params) {
|
|
|
33
35
|
throw new Response(undefined, { status: 400, statusText: 'Bad Request' });
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
|
-
const
|
|
37
|
-
const session = await config.sessionStorage.loadSession(sessionId);
|
|
38
|
+
const session = await createOrLoadOfflineSession.createOrLoadOfflineSession(check.domain, params);
|
|
38
39
|
const webhookContext = {
|
|
39
40
|
apiVersion: check.apiVersion,
|
|
40
41
|
shop: check.domain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticate.js","sources":["../../../../../../src/server/authenticate/webhooks/authenticate.ts"],"sourcesContent":[null],"names":["WebhookValidationErrorReason","adminClientFactory","handleClientErrorFactory"],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticate.js","sources":["../../../../../../src/server/authenticate/webhooks/authenticate.ts"],"sourcesContent":[null],"names":["WebhookValidationErrorReason","createOrLoadOfflineSession","adminClientFactory","handleClientErrorFactory"],"mappings":";;;;;;;;;AAgBM,SAAU,0BAA0B,CAGxC,MAAmB,EAAA;AACnB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;AAE7B,IAAA,OAAO,eAAe,YAAY,CAChC,OAAgB,EAAA;AAEhB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;AAC7B,YAAA,MAAM,CAAC,KAAK,CACV,4EAA4E,EAC5E,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;QAErC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxC,OAAO;AACP,YAAA,UAAU,EAAE,OAAO;AACpB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YAChB,IAAI,KAAK,CAAC,MAAM,KAAKA,uCAA4B,CAAC,WAAW,EAAE;AAC7D,gBAAA,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACtD,gBAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,oBAAA,MAAM,EAAE,GAAG;AACX,oBAAA,UAAU,EAAE,cAAc;AAC3B,iBAAA,CAAC,CAAC;aACJ;iBAAM;AACL,gBAAA,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AACjD,gBAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAC,CAAC,CAAC;aACzE;SACF;QACD,MAAM,OAAO,GAAG,MAAMC,qDAA0B,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvE,QAAA,MAAM,cAAc,GAAyC;YAC3D,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,IAAI,EAAE,KAAK,CAAC,MAAM;YAClB,KAAK,EAAE,KAAK,CAAC,KAAe;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;AAC1B,YAAA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,YAAA,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;AACrC,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,KAAK,EAAE,SAAS;SACjB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,cAAc,CAAC;SACvB;QAED,MAAM,KAAK,GAAGC,0BAAkB,CAAY;YAC1C,MAAM;YACN,OAAO;AACP,YAAA,iBAAiB,EAAEC,0CAAwB,CAAC,EAAC,OAAO,EAAC,CAAC;AACvD,SAAA,CAAC,CAAC;QAEH,OAAO;AACL,YAAA,GAAG,cAAc;YACjB,OAAO;YACP,KAAK;SACN,CAAC;AACJ,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sources":["../../../../../src/server/boundary/headers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEM,SAAU,eAAe,CAAC,OAAoB,EAAA;IAClD,MAAM,EAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC;AAE5E,IAAA,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,QAAA,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,IAAI,OAAO,CAAC;AACjB,QAAA,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"headers.js","sources":["../../../../../src/server/boundary/headers.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEM,SAAU,eAAe,CAAC,OAAoB,EAAA;IAClD,MAAM,EAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC;AAE5E,IAAA,IAAI,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,QAAA,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,IAAI,OAAO,CAAC;AACjB,QAAA,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;AAC7D,QAAA,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;AAC7D,QAAA,IAAI,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC;AAC9D,KAAA,CAAC,CAAC;AACL;;;;"}
|
|
@@ -6,6 +6,9 @@ function logDisabledFutureFlags(config, logger) {
|
|
|
6
6
|
logFlag('unstable_newEmbeddedAuthStrategy', 'Enable this to use OAuth token exchange instead of auth code to generate API access tokens.' +
|
|
7
7
|
'\n Your app must be using Shopify managed install: https://shopify.dev/docs/apps/auth/installation');
|
|
8
8
|
}
|
|
9
|
+
if (!config.future.wip_optionalScopesApi) {
|
|
10
|
+
logFlag('wip_optionalScopesApi', 'Enable this to use the optionalScopes API to request additional scopes and manage them. ');
|
|
11
|
+
}
|
|
9
12
|
}
|
|
10
13
|
|
|
11
14
|
exports.logDisabledFutureFlags = logDisabledFutureFlags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flags.js","sources":["../../../../../src/server/future/flags.ts"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"flags.js","sources":["../../../../../src/server/future/flags.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAmDgB,SAAA,sBAAsB,CACpC,MAAiB,EACjB,MAAyB,EAAA;AAEzB,IAAA,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,OAAe,KAC5C,MAAM,CAAC,IAAI,CAAC,CAAe,YAAA,EAAA,IAAI,sBAAsB,OAAO,CAAA,EAAA,CAAI,CAAC,CAAC;AAEpE,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;QACnD,OAAO,CACL,kCAAkC,EAClC,6FAA6F;AAC3F,YAAA,qGAAqG,CACxG,CAAC;KACH;AAED,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;AACxC,QAAA,OAAO,CACL,uBAAuB,EACvB,0FAA0F,CAC3F,CAAC;KACH;AACH;;;;"}
|
|
@@ -17,6 +17,7 @@ var factory = require('./authenticate/public/factory.js');
|
|
|
17
17
|
var factory$2 = require('./unauthenticated/storefront/factory.js');
|
|
18
18
|
var authCodeFlow = require('./authenticate/admin/strategies/auth-code-flow.js');
|
|
19
19
|
var tokenExchange = require('./authenticate/admin/strategies/token-exchange.js');
|
|
20
|
+
var merchantCustomApp = require('./authenticate/admin/strategies/merchant-custom-app.js');
|
|
20
21
|
var idempotentPromiseHandler = require('./authenticate/helpers/idempotent-promise-handler.js');
|
|
21
22
|
var authenticate$1 = require('./authenticate/flow/authenticate.js');
|
|
22
23
|
var authenticate$2 = require('./authenticate/fulfillment-service/authenticate.js');
|
|
@@ -51,11 +52,20 @@ function shopifyApp(appConfig) {
|
|
|
51
52
|
api.webhooks.addHandlers(appConfig.webhooks);
|
|
52
53
|
}
|
|
53
54
|
const params = { api, config, logger };
|
|
55
|
+
let strategy;
|
|
56
|
+
if (config.distribution === types.AppDistribution.ShopifyAdmin) {
|
|
57
|
+
strategy = new merchantCustomApp.MerchantCustomAuth(params);
|
|
58
|
+
}
|
|
59
|
+
else if (config.future.unstable_newEmbeddedAuthStrategy &&
|
|
60
|
+
config.isEmbeddedApp) {
|
|
61
|
+
strategy = new tokenExchange.TokenExchangeStrategy(params);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
strategy = new authCodeFlow.AuthCodeFlowStrategy(params);
|
|
65
|
+
}
|
|
54
66
|
const authStrategy = authenticate.authStrategyFactory({
|
|
55
67
|
...params,
|
|
56
|
-
strategy
|
|
57
|
-
? new tokenExchange.TokenExchangeStrategy(params)
|
|
58
|
-
: new authCodeFlow.AuthCodeFlowStrategy(params),
|
|
68
|
+
strategy,
|
|
59
69
|
});
|
|
60
70
|
const shopify = {
|
|
61
71
|
sessionStorage: config.sessionStorage,
|
|
@@ -94,7 +104,11 @@ function deriveApi(appConfig) {
|
|
|
94
104
|
appUrl = new URL(appConfig.appUrl);
|
|
95
105
|
}
|
|
96
106
|
catch (error) {
|
|
97
|
-
|
|
107
|
+
const message = appConfig.appUrl === ''
|
|
108
|
+
? `Detected an empty appUrl configuration, please make sure to set the necessary environment variables.\n` +
|
|
109
|
+
`If you're deploying your app, you can find more information at https://shopify.dev/docs/apps/launch/deployment/deploy-web-app/deploy-to-hosting-service#step-4-set-up-environment-variables`
|
|
110
|
+
: `Invalid appUrl configuration '${appConfig.appUrl}', please provide a valid URL.`;
|
|
111
|
+
throw new shopifyApi.ShopifyError(message);
|
|
98
112
|
}
|
|
99
113
|
/* eslint-disable no-process-env */
|
|
100
114
|
if (appUrl.hostname === 'localhost' && !appUrl.port && process.env.PORT) {
|
|
@@ -117,12 +131,14 @@ function deriveApi(appConfig) {
|
|
|
117
131
|
billing: appConfig.billing,
|
|
118
132
|
future: {
|
|
119
133
|
lineItemBilling: true,
|
|
134
|
+
unstable_managedPricingSupport: true,
|
|
120
135
|
},
|
|
121
136
|
_logDisabledFutureFlags: false,
|
|
122
137
|
});
|
|
123
138
|
}
|
|
124
139
|
function deriveConfig(appConfig, apiConfig) {
|
|
125
|
-
if (!appConfig.sessionStorage
|
|
140
|
+
if (!appConfig.sessionStorage &&
|
|
141
|
+
appConfig.distribution !== types.AppDistribution.ShopifyAdmin) {
|
|
126
142
|
throw new shopifyApi.ShopifyError('Please provide a valid session storage. Refer to https://github.com/Shopify/shopify-app-js/blob/main/README.md#session-storage-options for options.');
|
|
127
143
|
}
|
|
128
144
|
const authPathPrefix = appConfig.authPathPrefix || '/auth';
|
|
@@ -145,6 +161,7 @@ function deriveConfig(appConfig, apiConfig) {
|
|
|
145
161
|
exitIframePath: `${authPathPrefix}/exit-iframe`,
|
|
146
162
|
loginPath: `${authPathPrefix}/login`,
|
|
147
163
|
},
|
|
164
|
+
distribution: appConfig.distribution,
|
|
148
165
|
};
|
|
149
166
|
}
|
|
150
167
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify-app.js","sources":["../../../../src/server/shopify-app.ts"],"sourcesContent":[null],"names":["overrideLogger","
|
|
1
|
+
{"version":3,"file":"shopify-app.js","sources":["../../../../src/server/shopify-app.ts"],"sourcesContent":[null],"names":["overrideLogger","AppDistribution","MerchantCustomAuth","TokenExchangeStrategy","AuthCodeFlowStrategy","authStrategyFactory","addDocumentResponseHeadersFactory","registerWebhooksFactory","authenticateFlowFactory","authenticatePublicFactory","authenticateFulfillmentServiceFactory","authenticateWebhookFactory","unauthenticatedAdminContextFactory","unauthenticatedStorefrontContextFactory","loginFactory","logDisabledFutureFlags","ShopifyError","SHOPIFY_REMIX_LIBRARY_VERSION","shopifyApi","LATEST_API_VERSION","IdempotentPromiseHandler"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var shopifyApi = require('@shopify/shopify-api');
|
|
4
|
+
var memory = require('../../session-storage/shopify-app-session-storage-memory/dist/esm/memory.js');
|
|
5
|
+
var testHelpers = require('@shopify/shopify-api/test-helpers');
|
|
6
|
+
|
|
7
|
+
const TEST_CONFIG = {
|
|
8
|
+
apiKey: testHelpers.API_KEY,
|
|
9
|
+
apiSecretKey: testHelpers.API_SECRET_KEY,
|
|
10
|
+
scopes: ['testScope'],
|
|
11
|
+
appUrl: testHelpers.APP_URL,
|
|
12
|
+
adminApiAccessToken: testHelpers.API_KEY,
|
|
13
|
+
privateAppStorefrontAccessToken: testHelpers.API_KEY,
|
|
14
|
+
logger: {
|
|
15
|
+
level: shopifyApi.LogSeverity.Debug,
|
|
16
|
+
},
|
|
17
|
+
sessionStorage: new memory.MemorySessionStorage(),
|
|
18
|
+
isTesting: true,
|
|
19
|
+
};
|
|
20
|
+
function testConfig({ future, ...overrides } = {}) {
|
|
21
|
+
return {
|
|
22
|
+
...TEST_CONFIG,
|
|
23
|
+
...overrides,
|
|
24
|
+
logger: {
|
|
25
|
+
...TEST_CONFIG.logger,
|
|
26
|
+
...overrides.logger,
|
|
27
|
+
},
|
|
28
|
+
future,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.testConfig = testConfig;
|
|
33
|
+
//# sourceMappingURL=test-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-config.js","sources":["../../../../../src/server/test-helpers/test-config.ts"],"sourcesContent":[null],"names":["API_KEY","API_SECRET_KEY","APP_URL","LogSeverity","MemorySessionStorage"],"mappings":";;;;;;AAYA,MAAM,WAAW,GAAG;AAClB,IAAA,MAAM,EAAEA,mBAAO;AACf,IAAA,YAAY,EAAEC,0BAAc;IAC5B,MAAM,EAAE,CAAC,WAAW,CAAQ;AAC5B,IAAA,MAAM,EAAEC,mBAAO;AACf,IAAA,mBAAmB,EAAEF,mBAAO;AAC5B,IAAA,+BAA+B,EAAEA,mBAAO;AACxC,IAAA,MAAM,EAAE;QACN,KAAK,EAAEG,sBAAW,CAAC,KAAK;AACzB,KAAA;IACD,cAAc,EAAE,IAAIC,2BAAoB,EAAE;AAC1C,IAAA,SAAS,EAAE,IAAI;CACP,CAAC;AAEL,SAAU,UAAU,CAIxB,EAAC,MAAM,EAAE,GAAG,SAAS,EAAA,GAAmC,EAEvD,EAAA;IAED,OAAO;AACL,QAAA,GAAG,WAAW;AACd,QAAA,GAAG,SAAS;AACZ,QAAA,MAAM,EAAE;YACN,GAAG,WAAW,CAAC,MAAM;YACrB,GAAI,SAAoC,CAAC,MAAM;AAChD,SAAA;QACD,MAAM;KACA,CAAC;AACX;;;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
var createOrLoadOfflineSession = require('../../authenticate/helpers/create-or-load-offline-session.js');
|
|
4
|
+
|
|
5
|
+
async function getOfflineSession(shop, params) {
|
|
6
|
+
const session = await createOrLoadOfflineSession.createOrLoadOfflineSession(shop, params);
|
|
6
7
|
return session;
|
|
7
8
|
}
|
|
8
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-offline-session.js","sources":["../../../../../../src/server/unauthenticated/helpers/get-offline-session.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-offline-session.js","sources":["../../../../../../src/server/unauthenticated/helpers/get-offline-session.ts"],"sourcesContent":[null],"names":["createOrLoadOfflineSession"],"mappings":";;;;AAKO,eAAe,iBAAiB,CACrC,IAAY,EACZ,MAAmB,EAAA;IAEnB,MAAM,OAAO,GAAG,MAAMA,qDAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAE/D,IAAA,OAAO,OAAO,CAAC;AACjB;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
class MemorySessionStorage {
|
|
4
|
+
sessions = {};
|
|
5
|
+
async storeSession(session) {
|
|
6
|
+
this.sessions[session.id] = session;
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
async loadSession(id) {
|
|
10
|
+
return this.sessions[id] || undefined;
|
|
11
|
+
}
|
|
12
|
+
async deleteSession(id) {
|
|
13
|
+
if (this.sessions[id]) {
|
|
14
|
+
delete this.sessions[id];
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
async deleteSessions(ids) {
|
|
19
|
+
ids.forEach((id) => delete this.sessions[id]);
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
async findSessionsByShop(shop) {
|
|
23
|
+
const results = Object.values(this.sessions).filter((session) => session.shop === shop);
|
|
24
|
+
return results;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
exports.MemorySessionStorage = MemorySessionStorage;
|
|
29
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sources":["../../../../../../../session-storage/shopify-app-session-storage-memory/dist/esm/memory.mjs"],"sourcesContent":["class MemorySessionStorage {\n sessions = {};\n async storeSession(session) {\n this.sessions[session.id] = session;\n return true;\n }\n async loadSession(id) {\n return this.sessions[id] || undefined;\n }\n async deleteSession(id) {\n if (this.sessions[id]) {\n delete this.sessions[id];\n }\n return true;\n }\n async deleteSessions(ids) {\n ids.forEach((id) => delete this.sessions[id]);\n return true;\n }\n async findSessionsByShop(shop) {\n const results = Object.values(this.sessions).filter((session) => session.shop === shop);\n return results;\n }\n}\n\nexport { MemorySessionStorage };\n//# sourceMappingURL=memory.mjs.map\n"],"names":[],"mappings":";;AAAA,MAAM,oBAAoB,CAAC;AAC3B,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,MAAM,YAAY,CAAC,OAAO,EAAE;AAChC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;AAC5C,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,WAAW,CAAC,EAAE,EAAE;AAC1B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;AAC9C,KAAK;AACL,IAAI,MAAM,aAAa,CAAC,EAAE,EAAE;AAC5B,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;AAC/B,YAAY,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,cAAc,CAAC,GAAG,EAAE;AAC9B,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,MAAM,kBAAkB,CAAC,IAAI,EAAE;AACnC,QAAQ,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChG,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL;;;;"}
|
|
@@ -3,6 +3,7 @@ import { setCrypto, setAbstractRuntimeString } from '@shopify/shopify-api/runtim
|
|
|
3
3
|
import { setAppBridgeUrlOverride } from '../../authenticate/helpers/app-bridge-url.mjs';
|
|
4
4
|
import '@remix-run/server-runtime';
|
|
5
5
|
import 'isbot';
|
|
6
|
+
import '../../types.mjs';
|
|
6
7
|
|
|
7
8
|
setCrypto(crypto);
|
|
8
9
|
setAbstractRuntimeString(() => {
|