diff --git a/src/lib/csp.ts b/src/lib/csp.ts index 37d4c8544..1955469e5 100644 --- a/src/lib/csp.ts +++ b/src/lib/csp.ts @@ -50,7 +50,7 @@ export function getContentSecurityPolicy(scripts: SpaceIntegrationScript[], nonc object-src 'none'; base-uri 'self' ${assetsDomain}; form-action 'self' ${assetsDomain}; - frame-ancestors 'none'; + frame-ancestors https:; `; const result = scripts diff --git a/src/middleware.ts b/src/middleware.ts index 58693689f..50df0a39d 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -53,17 +53,19 @@ type URLLookupMode = */ | 'multi-id'; +export type LookupCookies = Record< + string, + { + value: string; + options?: Partial; + } +>; + export type LookupResult = PublishedContentWithCache & { /** API endpoint to use for the content post lookup */ apiEndpoint?: string; /** Cookies to store on the response */ - cookies?: Record< - string, - { - value: string; - options?: Partial; - } - >; + cookies?: LookupCookies; }; /** @@ -377,12 +379,14 @@ async function lookupSpaceInMultiIdMode(request: NextRequest, url: URL): Promise () => getSpace.revalidate(spaceId), ); - const cookies = { + const cookies: LookupCookies = { [cookieName]: { value: encodeGitBookTokenCookie(spaceId, apiToken, apiEndpoint), options: { httpOnly: true, maxAge: 60 * 30, + secure: process.env.NODE_ENV === 'production', + sameSite: 'none', }, }, };