@@ -273,33 +273,31 @@ export function hasMultipleCookiesForTokenType(
273273 return false ;
274274 }
275275
276- const cookies = parseCookieStringFromRequestHeaderAllowingDuplicates ( cookieString ) ;
276+ const cookieNames = getCookieNamesFromRequestHeaderAllowingDuplicates ( cookieString ) ;
277277 const cookieName = config . getCookieNameForTokenType ( req , tokenType , userContext ) ;
278- return cookies [ cookieName ] !== undefined && cookies [ cookieName ] . length > 1 ;
278+ return cookieNames . filter ( ( name ) => name === cookieName ) . length > 1 ;
279279}
280280
281281// This function is required because cookies library (and most of the popular libraries in npm)
282282// does not support parsing multiple cookies with the same name.
283- function parseCookieStringFromRequestHeaderAllowingDuplicates ( cookieString : string ) : Record < string , string [ ] > {
284- const cookies : Record < string , string [ ] > = { } ;
283+ function getCookieNamesFromRequestHeaderAllowingDuplicates ( cookieString : string ) : string [ ] {
284+ const cookieNames : string [ ] = [ ] ;
285285
286286 const cookiePairs = cookieString . split ( ";" ) ;
287287
288288 for ( const cookiePair of cookiePairs ) {
289- const [ name , value ] = cookiePair . trim ( ) . split ( "=" ) ;
289+ const [ name , _ ] = cookiePair . trim ( ) . split ( "=" ) ;
290290
291291 // Try to decode the name or fallback to the original name
292292 let decodedName = name ;
293293 try {
294294 decodedName = decodeURIComponent ( name ) ;
295295 } catch ( e ) {
296- logDebugMessage (
297- `parseCookieStringFromRequestHeaderAllowingDuplicates: Error decoding cookie name: ${ name } `
298- ) ;
296+ logDebugMessage ( `getCookieNamesFromRequestHeaderAllowingDuplicates: Error decoding cookie name: ${ name } ` ) ;
299297 }
300298
301- cookies . hasOwnProperty ( decodedName ) ? cookies [ decodedName ] . push ( value ) : ( cookies [ decodedName ] = [ value ] ) ;
299+ cookieNames . push ( decodedName ) ;
302300 }
303301
304- return cookies ;
302+ return cookieNames ;
305303}
0 commit comments