diff --git a/apps/journal/app/lib/auth.server.ts b/apps/journal/app/lib/auth.server.ts index 8905332..a85a55e 100644 --- a/apps/journal/app/lib/auth.server.ts +++ b/apps/journal/app/lib/auth.server.ts @@ -81,7 +81,7 @@ export async function finishRegistration( await db.insert(credentials).values({ id: randomUUID(), userId, - credentialId: Buffer.from(credential.id), + credentialId: Buffer.from(credential.id, "base64url"), publicKey: Buffer.from(credential.publicKey), counter: credential.counter, transports: response.response.transports, @@ -137,7 +137,7 @@ export async function addPasskeyFinish( await db.insert(credentials).values({ id: randomUUID(), userId, - credentialId: Buffer.from(credential.id), + credentialId: Buffer.from(credential.id, "base64url"), publicKey: Buffer.from(credential.publicKey), counter: credential.counter, transports: response.response.transports, diff --git a/apps/journal/app/routes/auth.login.tsx b/apps/journal/app/routes/auth.login.tsx index 9698f19..eaa0ed1 100644 --- a/apps/journal/app/routes/auth.login.tsx +++ b/apps/journal/app/routes/auth.login.tsx @@ -47,7 +47,12 @@ export default function LoginPage() { window.location.href = "/"; } } catch (err) { - setError((err as Error).message); + const message = (err as Error).message; + if (message.includes("timed out") || message.includes("not allowed")) { + setError("No passkey found for this site. Register a new account or use a magic link instead."); + } else { + setError(message); + } } finally { setLoading(false); }