fix(auth): dev login 403 — resolve staff by id, not oidcSub (GRO-150) #138

Merged
the-dogfather-cto[bot] merged 1 commits from fix/gro-150-dev-login-403 into main 2026-03-28 01:48:16 +00:00
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -165,7 +165,7 @@ describe("resolveStaffMiddleware", () => {
});
const res = await app.request("/test", {
headers: { "X-Dev-User-Id": GROOMER.oidcSub! },
headers: { "X-Dev-User-Id": GROOMER.id },
});
expect(res.status).toBe(200);
expect(capturedStaff!.role).toBe("groomer");
+2 -2
View File
@@ -41,11 +41,11 @@ export const resolveStaffMiddleware: MiddlewareHandler<AppEnv> = async (
await next();
return;
}
// Treat X-Dev-User-Id as the oidcSub
// Treat X-Dev-User-Id as the staff database id (the frontend stores staff.id)
const [row] = await db
.select()
.from(staff)
.where(eq(staff.oidcSub, devUserId));
.where(eq(staff.id, devUserId));
if (!row) {
return c.json(
{ error: "Forbidden: no staff record found for X-Dev-User-Id" },