Skip to content

Commit 8fc6114

Browse files
authored
Merge pull request #82 from mindstorms6/main
Fix cookie parsing
2 parents ba3d04c + 3385f30 commit 8fc6114

1 file changed

Lines changed: 10 additions & 11 deletions

File tree

src/main/java/com/clerk/backend_api/helpers/security/AuthenticateRequest.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.clerk.backend_api.helpers.security.models.TokenVerificationResponse;
99
import com.clerk.backend_api.helpers.security.models.VerifyTokenOptions;
1010
import java.io.IOException;
11-
import java.net.HttpCookie;
11+
import java.util.Arrays;
1212
import java.util.HashMap;
1313
import java.util.List;
1414
import java.util.Map;
@@ -85,17 +85,16 @@ private static String getSessionToken(Map<String, List<String>> requestHeaders)
8585
}
8686

8787
List<String> cookieHeaders = lowerCaseHeaders.get("cookie");
88-
if (cookieHeaders != null && !cookieHeaders.isEmpty()) {
89-
String cookieHeaderValue = cookieHeaders.get(0);
90-
List<HttpCookie> cookies = HttpCookie.parse(cookieHeaderValue);
91-
for (HttpCookie cookie : cookies) {
92-
if (cookie.getName().startsWith(SESSION_COOKIE_NAME)) {
93-
return cookie.getValue();
94-
}
95-
}
88+
if (cookieHeaders == null || cookieHeaders.isEmpty()) {
89+
return null;
9690
}
97-
98-
return null;
91+
return Arrays.stream(cookieHeaders.get(0).split(";"))
92+
.map(String::trim)
93+
.map(s -> s.split("=", 2)) // ["name","value"]
94+
.filter(kv -> kv[0].startsWith("__session"))
95+
.map(kv -> kv[1])
96+
.findFirst()
97+
.orElse(null);
9998
}
10099

101100

0 commit comments

Comments
 (0)