@@ -5,7 +5,10 @@ import { NextResponse } from "next/server";
55const REFRESH_ENDPOINT = "/v1/auth/token/refresh" ;
66const UNAUTHORIZED_CODE = 401 ;
77
8- let refreshPromise : Promise < string > | null = null ;
8+ let refreshPromise : Promise < {
9+ accessToken : string ;
10+ refreshToken : string ;
11+ } > | null = null ;
912
1013export const serverApi = ky . create ( {
1114 prefixUrl : process . env . NEXT_PUBLIC_API_URL ,
@@ -70,13 +73,33 @@ export const serverApi = ky.create({
7073 maxAge : 60 * 60 * 24 * 7 ,
7174 } ) ;
7275
73- return accessToken ;
76+ return { accessToken, refreshToken : newRefreshToken } ;
7477 } ) ( ) ;
7578 }
7679
7780 try {
78- const newToken = await refreshPromise ;
79- request . headers . set ( "Authorization" , `Bearer ${ newToken } ` ) ;
81+ const { accessToken, refreshToken : newRefreshToken } =
82+ await refreshPromise ;
83+ request . headers . set ( "Authorization" , `Bearer ${ accessToken } ` ) ;
84+
85+ // ! 이 코드가 의미가 있을까..?
86+ const cookieStore = await cookies ( ) ;
87+
88+ cookieStore . set ( "accessToken" , accessToken , {
89+ httpOnly : true ,
90+ secure : true ,
91+ sameSite : "none" ,
92+ path : "/" ,
93+ maxAge : 60 * 60 ,
94+ } ) ;
95+ cookieStore . set ( "refreshToken" , newRefreshToken , {
96+ httpOnly : true ,
97+ secure : true ,
98+ sameSite : "none" ,
99+ path : "/" ,
100+ maxAge : 60 * 60 * 24 * 7 ,
101+ } ) ;
102+
80103 return serverApi ( request , options ) ;
81104 } catch ( err ) {
82105 return NextResponse . redirect ( new URL ( "/login" , request . url ) ) ;
0 commit comments