1
- import configuration from "@/configuration" ;
2
1
import {
3
2
generateCodeChallenge ,
4
3
generateCodeVerifier ,
@@ -46,7 +45,13 @@ export async function POST(
46
45
const codeChallenge = generateCodeChallenge ( codeVerifier ) ;
47
46
const state = generateState ( ) ;
48
47
49
- const requestParams = new URLSearchParams ( {
48
+ if ( returnUrl ) setShortLiveCookie ( returnUrlCookieName , returnUrl ) ;
49
+ setShortLiveCookie ( stateCookieName , state ) ;
50
+ setShortLiveCookie ( redirectUrlCookieName , provider . redirectUrl ) ;
51
+ setShortLiveCookie ( codeVerifierCookieName , codeVerifier ) ;
52
+ deleteCookie ( csrfTokenCookieName ) ;
53
+
54
+ const params = new URLSearchParams ( {
50
55
code_challenge : codeChallenge ,
51
56
code_challenge_method : "S256" ,
52
57
client_id : provider . clientId ,
@@ -56,15 +61,9 @@ export async function POST(
56
61
state,
57
62
} ) ;
58
63
59
- if ( prompt ) requestParams . set ( "prompt" , prompt ) ;
60
- if ( loginHint ) requestParams . set ( "login_hint" , loginHint ) ;
61
-
62
- if ( returnUrl ) setShortLiveCookie ( returnUrlCookieName , returnUrl ) ;
63
- setShortLiveCookie ( stateCookieName , state ) ;
64
- setShortLiveCookie ( redirectUrlCookieName , provider . redirectUrl ) ;
65
- setShortLiveCookie ( codeVerifierCookieName , codeVerifier ) ;
66
- deleteCookie ( csrfTokenCookieName ) ;
64
+ if ( prompt ) params . set ( "prompt" , prompt ) ;
65
+ if ( loginHint ) params . set ( "login_hint" , loginHint ) ;
67
66
68
- const authorizeUrl = `${ wellKnown . authorization_endpoint } ?${ requestParams } ` ;
67
+ const authorizeUrl = `${ wellKnown . authorization_endpoint } ?${ params } ` ;
69
68
return NextResponse . json ( { authorizeUrl } ) ;
70
69
}
0 commit comments