Skip to content

Commit 439c846

Browse files
committed
fix: oauth account linking broken due to redundant auth check
1 parent 61e73d8 commit 439c846

File tree

3 files changed

+13
-26
lines changed

3 files changed

+13
-26
lines changed

server/api/auth/epilogue/link.get.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,6 @@ export default defineEventHandler(async (event: H3Event) => {
3737
});
3838
}
3939

40-
if (!event.context.user) {
41-
console.error("Epilogue Link error: Unauthorized access attempt");
42-
throw createError({
43-
statusCode: 401,
44-
message: "Unauthorized",
45-
});
46-
}
47-
4840
const sessionCookie = getCookie(event, "ziit_session");
4941

5042
if (!sessionCookie) {

server/api/auth/github/link.get.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,7 @@ export default defineEventHandler(async (event: H3Event) => {
3737
});
3838
}
3939

40-
if (!event.context.user) {
41-
console.error("GitHub Link error: Unauthorized access attempt");
42-
throw createError({
43-
statusCode: 401,
44-
message: "Unauthorized",
45-
});
46-
}
47-
48-
const sessionCookie = getCookie(event, "session");
40+
const sessionCookie = getCookie(event, "ziit_session");
4941

5042
if (!sessionCookie) {
5143
throw createError({

server/middleware/auth.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ const AUTH_CONFIG = {
88
publicApiPaths: [
99
"/api/external/",
1010
"/api/auth/",
11-
"/api/public",
12-
"/api/leaderboard",
11+
"/api/public/",
12+
"/api/leaderboard/",
1313
],
1414
publicPages: [
1515
"/stats",
@@ -32,16 +32,13 @@ export default defineEventHandler(async (event: H3Event) => {
3232
return;
3333
}
3434

35-
if (path.startsWith("/api/")) {
36-
if (!sessionCookie) {
35+
if (!sessionCookie) {
36+
if (path.startsWith("/api/")) {
3737
throw createError({
3838
statusCode: 401,
3939
message: "Unauthorized",
4040
});
4141
}
42-
}
43-
44-
if (!sessionCookie) {
4542
return sendRedirect(event, AUTH_CONFIG.loginRedirectPath);
4643
}
4744

@@ -64,8 +61,15 @@ export default defineEventHandler(async (event: H3Event) => {
6461
event.context.user = user;
6562
return;
6663
} catch (error) {
67-
console.error(error);
64+
console.error("Auth middleware error:", error);
6865
deleteCookie(event, AUTH_CONFIG.sessionCookieName);
66+
67+
if (path.startsWith("/api/")) {
68+
throw createError({
69+
statusCode: 401,
70+
message: "Unauthorized",
71+
});
72+
}
6973
return sendRedirect(event, AUTH_CONFIG.loginRedirectPath);
7074
}
7175
});
@@ -76,6 +80,5 @@ function isPublicPath(path: string): boolean {
7680
return true;
7781
}
7882
}
79-
8083
return AUTH_CONFIG.publicPages.includes(path);
8184
}

0 commit comments

Comments
 (0)