fix: preserve anonymous sessions during GitHub sign-in

This commit is contained in:
tdurieux committed 2026-09-10 16:15:39 +02:00
1 parent 5458dedac9
commit 3667e8e3cd
2 files changed
+90 -5

No files matched your search

+9 -5
View File
@@ -264,11 +264,15 @@ export function handleError(
export async function getUser(req: express.Request) {
function notConnected(): never {
req.logout((error) => {
if (error) {
logger.error("logout failed", serializeError(error));
}
});
// Anonymous sessions can hold an in-progress OAuth flow. Passport's
// logout regenerates the session, so only clear an invalid identity.
if (req.user) {
req.logout((error) => {
if (error) {
logger.error("logout failed", serializeError(error));
}
});
}
throw new AnonymousError("not_connected", {
httpStatus: 401,
});