@@ -10,6 +10,8 @@ import {
1010} from "./api/services/OIDC" ;
1111
1212export async function middleware ( request : NextRequest ) {
13+ console . info ( "Triggered middleware" ) ;
14+
1315 const forwardedHost =
1416 request . headers . get ( "x-forwarded-host" ) || request . nextUrl . hostname ;
1517 const forwardedProto = request . headers . get ( "x-forwarded-proto" ) || "http" ;
@@ -19,20 +21,28 @@ export async function middleware(request: NextRequest) {
1921 `${ forwardedProto } ://${ forwardedHost } ` ,
2022 ) ;
2123 const { pathname } = request . nextUrl ;
24+ console . info ( "Real visited URL: " , realVisitedUrl ) ;
2225
2326 let response = paraglide ( request ) ;
27+ console . info ( "Created localized response" ) ;
2428
2529 if ( / ^ \/ a p p ( \/ .* ) ? $ / . test ( pathname ) ) {
30+ console . info ( "Detected app route" ) ;
2631 const tokenCookieValue = JSON . parse (
2732 request . cookies . get ( tokensCookieName ) ?. value ?? "{}" ,
2833 ) ;
34+ console . info ( "Parsed token cookie value: " ) ;
2935
3036 try {
37+ console . info ( "Validating tokens" ) ;
38+
3139 await validateTokens ( {
3240 access_token : tokenCookieValue . access_token ,
3341 id_token : tokenCookieValue . id_token ,
3442 } ) ;
3543
44+ console . info ( "Validation succeeded, responding" ) ;
45+
3646 return response ;
3747 } catch ( error ) {
3848 console . warn ( "Could not validate tokens, starting login flow" ) ;
@@ -43,8 +53,12 @@ export async function middleware(request: NextRequest) {
4353 "/auth/resolve-login" ,
4454 ) ;
4555
56+ console . info ( "Started login flow" ) ;
57+
4658 response = NextResponse . redirect ( redirect_uri . toString ( ) ) ;
4759
60+ console . info ( "Created response with redirect" , redirect_uri ) ;
61+
4862 response . cookies . set ( {
4963 name : codeVerifierCookieName ,
5064 value : code_verifier ,
@@ -65,10 +79,14 @@ export async function middleware(request: NextRequest) {
6579 httpOnly : true ,
6680 } ) ;
6781
82+ console . info ( "Set cookies" ) ;
83+ console . info ( "Responding with redirect and cookies" ) ;
84+
6885 return response ;
6986 }
7087
7188 if ( / ^ \/ a u t h \/ r e s o l v e - l o g i n ( \/ .* ) ? $ / . test ( pathname ) ) {
89+ console . info ( "Detected resolve login route" ) ;
7290 const verifier = request . cookies . get ( codeVerifierCookieName ) ;
7391 if ( ! verifier || ! verifier . value ) {
7492 throw new Error ( "No code verifier cookie found." ) ;
@@ -78,14 +96,20 @@ export async function middleware(request: NextRequest) {
7896 throw new Error ( "No oidc state cookie found." ) ;
7997 }
8098
99+ console . info ( "Found verifier and state cookies. State:" ) ;
100+
81101 const { state, tokens } = await resolveSignin (
82102 realVisitedUrl ,
83103 verifier . value ,
84104 oidcState . value ,
85105 ) ;
86106
107+ console . info ( "Resolved login flow with state" , state ) ;
108+
87109 response = NextResponse . redirect ( state . visitedUrl , 302 ) ;
88110
111+ console . info ( "Created response with redirect" , state . visitedUrl ) ;
112+
89113 response . cookies . set ( {
90114 name : tokensCookieName ,
91115 value : JSON . stringify ( tokens ) ,
@@ -96,12 +120,18 @@ export async function middleware(request: NextRequest) {
96120 httpOnly : true ,
97121 } ) ;
98122
123+ console . info ( "Set tokens cookie" ) ;
124+
99125 request . cookies . delete ( codeVerifierCookieName ) ;
100126 request . cookies . delete ( oidcStateCookieName ) ;
101127
128+ console . info ( "Deleted verifier and state cookies" ) ;
129+ console . info ( "Responding with redirect to visited URL" ) ;
130+
102131 return response ;
103132 }
104-
133+
134+ console . info ( "Responding with default localized response" ) ;
105135 return response ;
106136}
107137
0 commit comments