@@ -77,7 +77,10 @@ async function authUtilsPlugin(fastify) {
7777 } ;
7878 } ) ;
7979
80- fastify . decorate ( 'prepareOidcLoginRedirect' , ( request , oidcConfig , authorizationEndpoint ) => {
80+ fastify . decorate ( 'prepareOidcLoginRedirect' , ( request , oidcConfig , authorizationEndpoint , stateKey ) => {
81+ if ( stateKey === undefined ) {
82+ stateKey = 'oauthState' ;
83+ }
8184 request . log . info ( 'Preparing OIDC login redirect.' ) ;
8285
8386 const { redirectTo } = request . query ;
@@ -93,7 +96,7 @@ async function authUtilsPlugin(fastify) {
9396 const codeVerifier = crypto . randomBytes ( 32 ) . toString ( 'base64url' ) ;
9497 const codeChallenge = crypto . createHash ( 'sha256' ) . update ( codeVerifier ) . digest ( 'base64url' ) ;
9598
96- request . encryptedSession . set ( 'oauthState' , state ) ;
99+ request . encryptedSession . set ( stateKey , state ) ;
97100 request . encryptedSession . set ( 'codeVerifier' , codeVerifier ) ;
98101 request . log . info (
99102 {
@@ -117,7 +120,10 @@ async function authUtilsPlugin(fastify) {
117120 return url . toString ( ) ;
118121 } ) ;
119122
120- fastify . decorate ( 'handleOidcCallback' , async ( request , oidcConfig , tokenEndpoint ) => {
123+ fastify . decorate ( 'handleOidcCallback' , async ( request , oidcConfig , tokenEndpoint , stateKey ) => {
124+ if ( stateKey === undefined ) {
125+ stateKey = 'oauthState' ;
126+ }
121127 request . log . info ( 'Handling OIDC callback to retrieve the tokens.' ) ;
122128
123129 const { clientId, redirectUri } = oidcConfig ;
@@ -127,7 +133,7 @@ async function authUtilsPlugin(fastify) {
127133 request . log . error ( 'Missing authorization code in callback.' ) ;
128134 throw new AuthenticationError ( 'Missing code in callback.' ) ;
129135 }
130- if ( state !== request . encryptedSession . get ( 'oauthState' ) ) {
136+ if ( state !== request . encryptedSession . get ( stateKey ) ) {
131137 request . log . error ( 'Invalid state in callback.' ) ;
132138 throw new AuthenticationError ( 'Invalid state in callback.' ) ;
133139 }
0 commit comments