File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
src/app/api/auth/[...nextauth] Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ const handler = async (req: NextRequest, res: unknown) => {
2424 const cookieStore = req . cookies ;
2525 const callbackUrl = cookieStore . get ( "next-auth.callback-url" ) ?. value ;
2626 const redirectUrl =
27- callbackUrl && callbackUrl . startsWith ( process . env . SERVER_URL as string )
27+ callbackUrl && isValidCallbackUrl ( callbackUrl )
2828 ? callbackUrl
2929 : ( process . env . SERVER_URL as string ) ;
3030
@@ -39,4 +39,10 @@ const handler = async (req: NextRequest, res: unknown) => {
3939 ) as Promise < Response > ;
4040} ;
4141
42+ function isValidCallbackUrl ( callbackUrlString : string ) : boolean {
43+ const serverUrl = new URL ( process . env . SERVER_URL ! ) ;
44+ const callbackUrl = new URL ( callbackUrlString ) ;
45+ return serverUrl . origin === callbackUrl . origin ;
46+ }
47+
4248export { handler as GET , handler as POST } ;
You can’t perform that action at this time.
0 commit comments