Skip to content

Commit f2fe650

Browse files
committed
T3C-553-adds auth to auth-events signout
1 parent 0726c7c commit f2fe650

File tree

4 files changed

+19
-23
lines changed

4 files changed

+19
-23
lines changed

next-client/package-lock.json

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

next-client/src/app/api/auth-events/route.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,13 @@ export async function POST(request: Request) {
3030
const expressBody: {
3131
event: string;
3232
clientTimestamp: string;
33-
firebaseAuthToken?: string;
33+
firebaseAuthToken: string;
3434
} = {
3535
event,
3636
clientTimestamp,
37+
firebaseAuthToken: token,
3738
};
3839

39-
// Include Firebase token for signin events
40-
if (event === "signin" && token) {
41-
expressBody.firebaseAuthToken = token;
42-
}
43-
4440
const expressResponse = await fetch(`${expressUrl}/auth-events`, {
4541
method: "POST",
4642
headers: {
@@ -65,7 +61,7 @@ export async function POST(request: Request) {
6561
);
6662
return NextResponse.json(
6763
{ error: "Failed to log auth event" },
68-
{ status: 500 },
64+
{ status: expressResponse.status },
6965
);
7066
}
7167

next-client/src/components/navbar/components/LoginButton.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,14 @@ export default function LoginButton() {
7474
);
7575

7676
// Log signout event to server (before actually signing out)
77-
await logAuthEvent("signout");
77+
if (!user) {
78+
throw new Error("Sign out attempted with no user");
79+
}
80+
81+
await logAuthEvent("signout", user);
7882

7983
await signOut();
80-
loginLogger.info("Sign out successful");
84+
loginLogger.info({}, "Sign out successful");
8185
} catch (error) {
8286
loginLogger.error({ error }, "Sign out failed");
8387
}

next-client/src/lib/firebase/authEvents.ts

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const authEventsLogger = logger.child({ module: "auth-events-client" });
1010
*/
1111
export async function logAuthEvent(
1212
event: "signin" | "signout",
13-
user?: User,
13+
user: User,
1414
): Promise<void> {
1515
try {
1616
let body: {
@@ -22,18 +22,15 @@ export async function logAuthEvent(
2222
clientTimestamp: new Date().toISOString(),
2323
};
2424

25-
// For signin events, include the Firebase token for verification
26-
if (event === "signin" && user) {
27-
const tokenResult = await fetchToken(user);
28-
if (tokenResult.tag === "success" && tokenResult.value) {
29-
body.token = tokenResult.value;
30-
} else {
31-
authEventsLogger.warn(
32-
{ user },
33-
"Could not get token for signin event logging",
34-
);
35-
return;
36-
}
25+
const tokenResult = await fetchToken(user);
26+
if (tokenResult.tag === "success" && tokenResult.value) {
27+
body.token = tokenResult.value;
28+
} else {
29+
authEventsLogger.warn(
30+
{ user },
31+
"Could not get token for auth-event event logging",
32+
);
33+
return;
3734
}
3835

3936
// Call our Next.js API route which will proxy to the express server

0 commit comments

Comments
 (0)