Files
Gerhard Scheikl 01b4734477 security hardening
2026-05-31 09:35:31 +02:00

36 lines
1.3 KiB
TypeScript

import "@shopify/shopify-app-react-router/adapters/node";
import {
ApiVersion,
AppDistribution,
shopifyApp,
} from "@shopify/shopify-app-react-router/server";
import prisma from "./db.server";
import { requireEnv } from "./services/config/env.server";
import { EncryptedPrismaSessionStorage } from "./services/session/encryptedSessionStorage.server";
const shopify = shopifyApp({
apiKey: requireEnv("SHOPIFY_API_KEY"),
apiSecretKey: requireEnv("SHOPIFY_API_SECRET"),
apiVersion: ApiVersion.October25,
scopes: process.env.SCOPES?.split(","),
appUrl: requireEnv("SHOPIFY_APP_URL"),
authPathPrefix: "/auth",
sessionStorage: new EncryptedPrismaSessionStorage(prisma),
distribution: AppDistribution.SingleMerchant,
future: {
expiringOfflineAccessTokens: true,
},
...(process.env.SHOP_CUSTOM_DOMAIN
? { customShopDomains: [process.env.SHOP_CUSTOM_DOMAIN] }
: {}),
});
export default shopify;
export const apiVersion = ApiVersion.October25;
export const addDocumentResponseHeaders = shopify.addDocumentResponseHeaders;
export const authenticate = shopify.authenticate;
export const unauthenticated = shopify.unauthenticated;
export const login = shopify.login;
export const registerWebhooks = shopify.registerWebhooks;
export const sessionStorage = shopify.sessionStorage;