11import { enableLogging , logDebugMessage } from "../logger" ;
22
3- import type { NextRequest , SuperTokensNextjsConfig , SuperTokensRequestToken } from "./types" ;
3+ import type { SuperTokensNextjsConfig , SuperTokensRequestToken } from "./types" ;
44
55const ACCESS_TOKEN_COOKIE_NAME = "sAccessToken" ;
66const ACCESS_TOKEN_HEADER_NAME = "st-access-token" ;
@@ -32,13 +32,14 @@ let AppInfo: SuperTokensNextjsConfig["appInfo"];
3232// });
3333// }
3434
35- export async function refreshSession ( config : SuperTokensNextjsConfig , request : NextRequest ) : Promise < Response > {
35+ export async function refreshSession ( config : SuperTokensNextjsConfig , request : Request ) : Promise < Response > {
3636 AppInfo = config . appInfo ;
3737 if ( config . enableDebugLogs ) {
3838 enableLogging ( ) ;
3939 }
40+ console . log ( request ) ;
4041 const refreshToken =
41- request . cookies . get ( REFRESH_TOKEN_COOKIE_NAME ) ?. value || request . headers . get ( REFRESH_TOKEN_HEADER_NAME ) ;
42+ getCookie ( request , REFRESH_TOKEN_COOKIE_NAME ) || request . headers . get ( REFRESH_TOKEN_HEADER_NAME ) ;
4243 if ( ! refreshToken ) {
4344 logDebugMessage ( "Refresh token not found" ) ;
4445 return redirectToAuthPage ( request ) ;
@@ -52,7 +53,6 @@ export async function refreshSession(config: SuperTokensNextjsConfig, request: N
5253 logDebugMessage ( "Missing tokens from refresh response" ) ;
5354 return redirectToAuthPage ( request ) ;
5455 }
55-
5656 const currentUrl = new URL ( request . url ) ;
5757 const redirectUrl = new URL ( currentUrl . searchParams . get ( "redirectTo" ) || "/" , request . url ) ;
5858 const finalResponse = new Response ( null , {
@@ -91,7 +91,7 @@ export async function refreshSession(config: SuperTokensNextjsConfig, request: N
9191 }
9292}
9393
94- function redirectToAuthPage ( request : NextRequest ) : Response {
94+ function redirectToAuthPage ( request : Request ) : Response {
9595 const authPagePath = AppInfo . websiteBasePath || "/auth" ;
9696 const redirectUrl = new URL ( authPagePath , request . url ) ;
9797 logDebugMessage ( `Redirecting to: ${ redirectUrl } ` ) ;
@@ -154,3 +154,11 @@ async function fetchNewTokens(currentRefreshToken: string): Promise<{
154154
155155 return { accessToken, refreshToken, frontToken, antiCsrfToken } ;
156156}
157+
158+ function getCookie ( request : Request , name : string ) {
159+ return request . headers
160+ . get ( "cookie" )
161+ ?. split ( "; " )
162+ . find ( ( row ) => row . startsWith ( `${ name } =` ) )
163+ ?. split ( "=" ) [ 1 ] ;
164+ }
0 commit comments