@@ -4,42 +4,6 @@ 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;
10- script-src 'self' 'nonce-${ nonce } ' 'strict-dynamic' ${ process . env . NODE_ENV === "development" ? "'unsafe-eval'" : "" } https://analytics.solvro.pl;
11- style-src 'self' 'nonce-${ nonce } ';
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-
25- const requestHeaders = new Headers ( request . headers ) ;
26- requestHeaders . set ( "x-nonce" , nonce ) ;
27-
28- requestHeaders . set (
29- "Content-Security-Policy" ,
30- contentSecurityPolicyHeaderValue ,
31- ) ;
32-
33- const nextResponse = NextResponse . next ( {
34- request : {
35- headers : requestHeaders ,
36- } ,
37- } ) ;
38- nextResponse . headers . set (
39- "Content-Security-Policy" ,
40- contentSecurityPolicyHeaderValue ,
41- ) ;
42-
437 const tokens = {
448 token : request . cookies . get ( "access_token" ) ?. value ,
459 secret : request . cookies . get ( "access_token_secret" ) ?. value ,
@@ -50,31 +14,12 @@ export async function middleware(request: NextRequest) {
5014 const user = await auth ( tokens ) ;
5115
5216 if ( ! isProtectedRoute ) {
53- return nextResponse ;
17+ return NextResponse . next ( ) ;
5418 }
5519
5620 if ( user === null ) {
5721 return NextResponse . redirect ( new URL ( "/" , request . url ) ) ;
5822 }
5923
60- return nextResponse ;
24+ return NextResponse . next ( ) ;
6125}
62-
63- export const config = {
64- matcher : [
65- /*
66- * Match all request paths except for the ones starting with:
67- * - api (API routes)
68- * - _next/static (static files)
69- * - _next/image (image optimization files)
70- * - favicon.ico (favicon file)
71- */
72- {
73- source : "/((?!api|_next/static|_next/image|favicon.ico).*)" ,
74- missing : [
75- { type : "header" , key : "next-router-prefetch" } ,
76- { type : "header" , key : "purpose" , value : "prefetch" } ,
77- ] ,
78- } ,
79- ] ,
80- } ;
0 commit comments