@@ -4,41 +4,13 @@ import { NextResponse } from "next/server";
44import { auth } from "./lib/auth" ;
55
66export async function middleware ( request : NextRequest ) {
7- const nonce = Buffer . from ( crypto . randomUUID ( ) ) . toString ( "base64" ) ;
8- const cspHeader = `
9- default-src 'self' 'nonce-${ nonce } ' https://fonts.googleapis.com https://fonts.gstatic.com https://analytics.solvro.pl ${ process . env . NODE_ENV === "development" ? "http://localhost:3333" : "" } ;
10- script-src 'self' 'nonce-${ nonce } ' 'strict-dynamic' ${ process . env . NODE_ENV === "development" ? "'unsafe-eval'" : "" } https://analytics.solvro.pl;
11- style-src 'self' 'unsafe-inline';
12- img-src 'self' blob: data: https://avatars.githubusercontent.com https://wit.pwr.edu.pl https://cms.solvro.pl https://apps.usos.pwr.edu.pl;
13- font-src 'self';
14- object-src 'none';
15- base-uri 'self';
16- form-action 'self';
17- frame-ancestors 'none';
18- upgrade-insecure-requests;
19- ` ;
20-
21- const contentSecurityPolicyHeaderValue = cspHeader
22- . replaceAll ( / \s { 2 , } / g, " " )
23- . trim ( ) ;
24-
257 const requestHeaders = new Headers ( request . headers ) ;
26- requestHeaders . set ( "x-nonce" , nonce ) ;
27-
28- requestHeaders . set (
29- "Content-Security-Policy" ,
30- contentSecurityPolicyHeaderValue ,
31- ) ;
328
339 const nextResponse = NextResponse . next ( {
3410 request : {
3511 headers : requestHeaders ,
3612 } ,
3713 } ) ;
38- nextResponse . headers . set (
39- "Content-Security-Policy" ,
40- contentSecurityPolicyHeaderValue ,
41- ) ;
4214
4315 const payload = {
4416 adonisSession : request . cookies . get ( "adonis-session" ) ?. value ?? "" ,
0 commit comments