swap to using sub over did for user checking
This commit is contained in:
parent
767a1c2fab
commit
2be9e49eb3
2 changed files with 13 additions and 15 deletions
|
|
@ -15,11 +15,11 @@ export async function createUser(sub: number, did: string) {
|
|||
return user;
|
||||
}
|
||||
|
||||
export async function getUser(did: string) {
|
||||
export async function getUser(sub: number) {
|
||||
return await db
|
||||
.select({ did: usersTable.did, sub: usersTable.sub })
|
||||
.from(usersTable)
|
||||
.where(eq(usersTable.did, did))
|
||||
.where(eq(usersTable.sub, sub))
|
||||
.limit(1)
|
||||
.then((rows) => {
|
||||
return rows[0] || null;
|
||||
|
|
|
|||
24
src/index.ts
24
src/index.ts
|
|
@ -11,36 +11,34 @@ Bun.serve({
|
|||
return Response.redirect(redirectUrl.toString(), 302);
|
||||
},
|
||||
"/auth/:provider/callback": async (req) => {
|
||||
const did = "did:plc:lgb2xgd64n3swnh7jbtgpvhl";
|
||||
|
||||
const { callback } = await import(`./auth/${req.params.provider}/client`);
|
||||
let claims = await callback(new URL(req.url));
|
||||
if (!claims) {
|
||||
return new Response("Unauthorized", { status: 401 });
|
||||
} else {
|
||||
const userInfo = await getUser(did);
|
||||
const userInfo = await getUser(claims.sub);
|
||||
if (userInfo) {
|
||||
// user exists
|
||||
return Response.json(userInfo);
|
||||
return Response.redirect(`/api/users/${claims.sub}`, 302);
|
||||
} else {
|
||||
// create new user
|
||||
return Response.json(
|
||||
await createUser(claims.sub, did).then((user) => user)
|
||||
await createUser(
|
||||
claims.sub,
|
||||
"did:plc:lgb2xgd64n3swnh7jbtgpvhl"
|
||||
).then((user) => user)
|
||||
);
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/users/:did": async (req) => {
|
||||
console.log("Fetching user with DID:", req.params.did);
|
||||
"/api/users/:sub": async (req) => {
|
||||
if (!req.params.sub) {
|
||||
return new Response("User sub is required", { status: 400 });
|
||||
}
|
||||
|
||||
return Response.json(await getUser(req.params.did));
|
||||
return Response.json(await getUser(Number(req.params.sub)));
|
||||
},
|
||||
},
|
||||
websocket: {
|
||||
open() {},
|
||||
message() {},
|
||||
close() {},
|
||||
},
|
||||
fetch(): Response {
|
||||
return new Response("Page not found.", {
|
||||
status: 404,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue