Merge pull request #116 from trails-cool/fix-passkey-credential-encoding

Fix passkey credential ID encoding
This commit is contained in:
Ullrich Schäfer 2026-03-27 21:20:43 +01:00 committed by GitHub
commit 24fc6cc089
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View file

@ -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,

View file

@ -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);
}