@horae.io/passport-shopify 1.0.0 → 1.0.7
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/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @horae/passport-shopify\n * Shopify auth bridge: fetch JWT from backend
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @horae/passport-shopify\n * Shopify auth bridge: fetch JWT from a custom backend bridge endpoint.\n * Theme embed contract: data-* attributes and script URL — see docs/shopify-integration.md\n */\n\nimport { createPassportSDK } from \"@horae.io/passport-core\";\nimport type { PassportSDK, PassportSDKConfig } from \"@horae.io/passport-core\";\n\nexport type { PassportSDK, PassportSDKConfig };\n\nexport interface ShopifyAuthBridgeOptions {\n /** Backend bridge URL that returns JWT (e.g. https://your-app.com/shopify-token-bridge) */\n bridgeUrl: string;\n /** Shopify shop domain */\n shop: string;\n /** Shopify customer ID */\n customerId: string;\n /** Customer email */\n customerEmail?: string;\n}\n\n/**\n * Fetch JWT from your backend auth bridge.\n * Backend should verify Shopify request (HMAC/session) and return { token: \"...\" } or plain JWT string.\n */\nexport async function fetchShopifyToken(options: ShopifyAuthBridgeOptions): Promise<string> {\n const { bridgeUrl, shop, customerId, customerEmail } = options;\n const url = new URL(bridgeUrl);\n url.searchParams.set(\"shop\", shop);\n url.searchParams.set(\"customer_id\", customerId);\n if (customerEmail) url.searchParams.set(\"customer_email\", customerEmail);\n\n const res = await fetch(url.toString(), { credentials: \"omit\" });\n if (!res.ok) throw new Error(`Shopify auth bridge failed: ${res.status}`);\n const data = (await res.json()) as { token?: string };\n const token = data?.token ?? (typeof data === \"string\" ? data : null);\n if (!token) throw new Error(\"Shopify auth bridge did not return a token\");\n return token;\n}\n\n/**\n * Create SDK configured for Shopify (JWT strategy, optional persistence).\n * Call fetchShopifyToken first, then pass token here.\n */\nexport function createShopifyPassportSDK(config: {\n apiBase: string;\n token?: string | null;\n tokenStorageKey?: string | null;\n}): PassportSDK {\n return createPassportSDK({\n apiBase: config.apiBase,\n authStrategy: \"shopify\",\n token: config.token ?? null,\n tokenStorageKey: config.tokenStorageKey ?? \"shopify_access_token\",\n });\n}\n\nexport { createPassportSDK, createJwtStrategy } from \"@horae.io/passport-core\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,2BAAkC;AAoDlC,IAAAA,wBAAqD;AAhCrD,eAAsB,kBAAkB,SAAoD;AAC1F,QAAM,EAAE,WAAW,MAAM,YAAY,cAAc,IAAI;AACvD,QAAM,MAAM,IAAI,IAAI,SAAS;AAC7B,MAAI,aAAa,IAAI,QAAQ,IAAI;AACjC,MAAI,aAAa,IAAI,eAAe,UAAU;AAC9C,MAAI,cAAe,KAAI,aAAa,IAAI,kBAAkB,aAAa;AAEvE,QAAM,MAAM,MAAM,MAAM,IAAI,SAAS,GAAG,EAAE,aAAa,OAAO,CAAC;AAC/D,MAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,+BAA+B,IAAI,MAAM,EAAE;AACxE,QAAM,OAAQ,MAAM,IAAI,KAAK;AAC7B,QAAM,QAAQ,MAAM,UAAU,OAAO,SAAS,WAAW,OAAO;AAChE,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,4CAA4C;AACxE,SAAO;AACT;AAMO,SAAS,yBAAyB,QAIzB;AACd,aAAO,wCAAkB;AAAA,IACvB,SAAS,OAAO;AAAA,IAChB,cAAc;AAAA,IACd,OAAO,OAAO,SAAS;AAAA,IACvB,iBAAiB,OAAO,mBAAmB;AAAA,EAC7C,CAAC;AACH;","names":["import_passport_core"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -3,12 +3,12 @@ export { PassportSDK, PassportSDKConfig, createJwtStrategy, createPassportSDK }
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @horae/passport-shopify
|
|
6
|
-
* Shopify auth bridge: fetch JWT from backend
|
|
6
|
+
* Shopify auth bridge: fetch JWT from a custom backend bridge endpoint.
|
|
7
7
|
* Theme embed contract: data-* attributes and script URL — see docs/shopify-integration.md
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
interface ShopifyAuthBridgeOptions {
|
|
11
|
-
/** Backend URL that returns JWT (e.g. https://your-app.com/
|
|
11
|
+
/** Backend bridge URL that returns JWT (e.g. https://your-app.com/shopify-token-bridge) */
|
|
12
12
|
bridgeUrl: string;
|
|
13
13
|
/** Shopify shop domain */
|
|
14
14
|
shop: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ export { PassportSDK, PassportSDKConfig, createJwtStrategy, createPassportSDK }
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @horae/passport-shopify
|
|
6
|
-
* Shopify auth bridge: fetch JWT from backend
|
|
6
|
+
* Shopify auth bridge: fetch JWT from a custom backend bridge endpoint.
|
|
7
7
|
* Theme embed contract: data-* attributes and script URL — see docs/shopify-integration.md
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
interface ShopifyAuthBridgeOptions {
|
|
11
|
-
/** Backend URL that returns JWT (e.g. https://your-app.com/
|
|
11
|
+
/** Backend bridge URL that returns JWT (e.g. https://your-app.com/shopify-token-bridge) */
|
|
12
12
|
bridgeUrl: string;
|
|
13
13
|
/** Shopify shop domain */
|
|
14
14
|
shop: string;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @horae/passport-shopify\n * Shopify auth bridge: fetch JWT from backend
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["/**\n * @horae/passport-shopify\n * Shopify auth bridge: fetch JWT from a custom backend bridge endpoint.\n * Theme embed contract: data-* attributes and script URL — see docs/shopify-integration.md\n */\n\nimport { createPassportSDK } from \"@horae.io/passport-core\";\nimport type { PassportSDK, PassportSDKConfig } from \"@horae.io/passport-core\";\n\nexport type { PassportSDK, PassportSDKConfig };\n\nexport interface ShopifyAuthBridgeOptions {\n /** Backend bridge URL that returns JWT (e.g. https://your-app.com/shopify-token-bridge) */\n bridgeUrl: string;\n /** Shopify shop domain */\n shop: string;\n /** Shopify customer ID */\n customerId: string;\n /** Customer email */\n customerEmail?: string;\n}\n\n/**\n * Fetch JWT from your backend auth bridge.\n * Backend should verify Shopify request (HMAC/session) and return { token: \"...\" } or plain JWT string.\n */\nexport async function fetchShopifyToken(options: ShopifyAuthBridgeOptions): Promise<string> {\n const { bridgeUrl, shop, customerId, customerEmail } = options;\n const url = new URL(bridgeUrl);\n url.searchParams.set(\"shop\", shop);\n url.searchParams.set(\"customer_id\", customerId);\n if (customerEmail) url.searchParams.set(\"customer_email\", customerEmail);\n\n const res = await fetch(url.toString(), { credentials: \"omit\" });\n if (!res.ok) throw new Error(`Shopify auth bridge failed: ${res.status}`);\n const data = (await res.json()) as { token?: string };\n const token = data?.token ?? (typeof data === \"string\" ? data : null);\n if (!token) throw new Error(\"Shopify auth bridge did not return a token\");\n return token;\n}\n\n/**\n * Create SDK configured for Shopify (JWT strategy, optional persistence).\n * Call fetchShopifyToken first, then pass token here.\n */\nexport function createShopifyPassportSDK(config: {\n apiBase: string;\n token?: string | null;\n tokenStorageKey?: string | null;\n}): PassportSDK {\n return createPassportSDK({\n apiBase: config.apiBase,\n authStrategy: \"shopify\",\n token: config.token ?? null,\n tokenStorageKey: config.tokenStorageKey ?? \"shopify_access_token\",\n });\n}\n\nexport { createPassportSDK, createJwtStrategy } from \"@horae.io/passport-core\";\n"],"mappings":";AAMA,SAAS,yBAAyB;AAoDlC,SAAS,qBAAAA,oBAAmB,yBAAyB;AAhCrD,eAAsB,kBAAkB,SAAoD;AAC1F,QAAM,EAAE,WAAW,MAAM,YAAY,cAAc,IAAI;AACvD,QAAM,MAAM,IAAI,IAAI,SAAS;AAC7B,MAAI,aAAa,IAAI,QAAQ,IAAI;AACjC,MAAI,aAAa,IAAI,eAAe,UAAU;AAC9C,MAAI,cAAe,KAAI,aAAa,IAAI,kBAAkB,aAAa;AAEvE,QAAM,MAAM,MAAM,MAAM,IAAI,SAAS,GAAG,EAAE,aAAa,OAAO,CAAC;AAC/D,MAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM,+BAA+B,IAAI,MAAM,EAAE;AACxE,QAAM,OAAQ,MAAM,IAAI,KAAK;AAC7B,QAAM,QAAQ,MAAM,UAAU,OAAO,SAAS,WAAW,OAAO;AAChE,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,4CAA4C;AACxE,SAAO;AACT;AAMO,SAAS,yBAAyB,QAIzB;AACd,SAAO,kBAAkB;AAAA,IACvB,SAAS,OAAO;AAAA,IAChB,cAAc;AAAA,IACd,OAAO,OAAO,SAAS;AAAA,IACvB,iBAAiB,OAAO,mBAAmB;AAAA,EAC7C,CAAC;AACH;","names":["createPassportSDK"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@horae.io/passport-shopify",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"description": "Horae Passport SDK — Shopify auth bridge, theme embed contract",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -26,5 +26,6 @@
|
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"tsup": "^8.3.5",
|
|
28
28
|
"typescript": "~5.7.2"
|
|
29
|
-
}
|
|
30
|
-
|
|
29
|
+
},
|
|
30
|
+
"packageManager": "bun@1.3.10"
|
|
31
|
+
}
|