@shopify/shopify-app-remix
Version:
Shopify Remix - to simplify the building of Shopify Apps with Remix
33 lines (27 loc) • 649 B
text/typescript
import {
Cookies,
NormalizedRequest,
NormalizedResponse,
} from '@shopify/shopify-api/runtime';
import {API_SECRET_KEY} from './const';
export async function signRequestCookie({
request,
cookieName,
cookieValue,
}: {
request: Request;
cookieName: string;
cookieValue: string;
}) {
const cookies = new Cookies(
{headers: {}} as NormalizedRequest,
{} as NormalizedResponse,
{keys: [API_SECRET_KEY]},
);
await cookies.setAndSign(cookieName, cookieValue);
const cookieHeader = cookies
.toHeaders()
.map((cookie) => cookie.split(';')[0])
.join(';');
request.headers.set('Cookie', cookieHeader);
}