Skip to content

Commit

Permalink
Merge pull request #179 from Baroshem/fix/csp-ssg
Browse files Browse the repository at this point in the history
fix: csp ssg
  • Loading branch information
Baroshem committed Jul 18, 2023
2 parents 0136784 + 8d3a182 commit 3c409dc
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
18 changes: 10 additions & 8 deletions src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@ const setSecurityResponseHeaders = (nuxt: Nuxt, headers: SecurityHeaders) => {

const setSecurityRouteRules = (nuxt: Nuxt, securityOptions: ModuleOptions) => {
const nitroRouteRules = nuxt.options.nitro.routeRules;
delete (securityOptions as any).headers;
for (const middleware in securityOptions) {
const { headers, ...rest } = securityOptions
for (const middleware in rest) {
if (securityOptions[middleware as keyof typeof securityOptions]) {
const middlewareConfig = securityOptions[
middleware as keyof typeof securityOptions
Expand Down Expand Up @@ -237,13 +237,15 @@ const registerSecurityNitroPlugins = (
}

// Nitro plugin to enable nonce for CSP
config.plugins.push(
normalize(
fileURLToPath(
new URL("./runtime/nitro/plugins/cspNonce", import.meta.url)
if (nuxt.options.security.nonce) {
config.plugins.push(
normalize(
fileURLToPath(
new URL("./runtime/nitro/plugins/cspNonce", import.meta.url)
)
)
)
);
);
}

// Register nitro plugin to enable CSP for SSG
if (
Expand Down
2 changes: 1 addition & 1 deletion src/runtime/nitro/plugins/cspSsg.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default <NitroAppPlugin> function (nitro) {
}

const securityHeaders = moduleOptions.headers as SecurityHeaders
const contentSecurityPolicies: ContentSecurityPolicyValue = (securityHeaders.contentSecurityPolicy as MiddlewareConfiguration<ContentSecurityPolicyValue>).value
const contentSecurityPolicies: ContentSecurityPolicyValue = (securityHeaders.contentSecurityPolicy as MiddlewareConfiguration<ContentSecurityPolicyValue>).value || securityHeaders.contentSecurityPolicy

html.head.push(generateCspMetaTag(contentSecurityPolicies, scriptHashes))
})
Expand Down

1 comment on commit 3c409dc

@vercel
Copy link

@vercel vercel bot commented on 3c409dc Jul 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

nuxt-security – ./

nuxt-security.vercel.app
nuxt-security-git-main-baroshem.vercel.app
nuxt-security-baroshem.vercel.app

Please sign in to comment.