Skip to content

Commit 3c409dc

Browse files
authored
Merge pull request #179 from Baroshem/fix/csp-ssg
fix: csp ssg
2 parents 0136784 + 8d3a182 commit 3c409dc

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/module.ts

+10-8
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,8 @@ const setSecurityResponseHeaders = (nuxt: Nuxt, headers: SecurityHeaders) => {
180180

181181
const setSecurityRouteRules = (nuxt: Nuxt, securityOptions: ModuleOptions) => {
182182
const nitroRouteRules = nuxt.options.nitro.routeRules;
183-
delete (securityOptions as any).headers;
184-
for (const middleware in securityOptions) {
183+
const { headers, ...rest } = securityOptions
184+
for (const middleware in rest) {
185185
if (securityOptions[middleware as keyof typeof securityOptions]) {
186186
const middlewareConfig = securityOptions[
187187
middleware as keyof typeof securityOptions
@@ -237,13 +237,15 @@ const registerSecurityNitroPlugins = (
237237
}
238238

239239
// Nitro plugin to enable nonce for CSP
240-
config.plugins.push(
241-
normalize(
242-
fileURLToPath(
243-
new URL("./runtime/nitro/plugins/cspNonce", import.meta.url)
240+
if (nuxt.options.security.nonce) {
241+
config.plugins.push(
242+
normalize(
243+
fileURLToPath(
244+
new URL("./runtime/nitro/plugins/cspNonce", import.meta.url)
245+
)
244246
)
245-
)
246-
);
247+
);
248+
}
247249

248250
// Register nitro plugin to enable CSP for SSG
249251
if (

src/runtime/nitro/plugins/cspSsg.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export default <NitroAppPlugin> function (nitro) {
4242
}
4343

4444
const securityHeaders = moduleOptions.headers as SecurityHeaders
45-
const contentSecurityPolicies: ContentSecurityPolicyValue = (securityHeaders.contentSecurityPolicy as MiddlewareConfiguration<ContentSecurityPolicyValue>).value
45+
const contentSecurityPolicies: ContentSecurityPolicyValue = (securityHeaders.contentSecurityPolicy as MiddlewareConfiguration<ContentSecurityPolicyValue>).value || securityHeaders.contentSecurityPolicy
4646

4747
html.head.push(generateCspMetaTag(contentSecurityPolicies, scriptHashes))
4848
})

0 commit comments

Comments
 (0)