DEV Community

丁久
丁久

Posted on • Originally published at dingjiu1989-hue.github.io

Passwordless Authentication

This article was originally published on AI Study Room. For the full version with working code examples and related articles, visit the original post.

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

Passwordless Authentication

The Passwordless Vision

Passwords are the weakest link in authentication. Passwordless authentication eliminates them entirely, replacing secrets with cryptographic keys.

WebAuthn and FIDO2

Web Authentication (WebAuthn) is a W3C standard for public-key credential authentication:

// Registration

async function registerPasskey() {

const credential = await navigator.credentials.create({

publicKey: {

challenge: new Uint8Array([/* server-generated challenge */]),

rp: {

id: "example.com",

name: "Example Corp"

},

user: {

id: new TextEncoder().encode("user-123"),

name: "alice@example.com",

displayName: "Alice"

},

pubKeyCredParams: [

{ type: "public-key", alg: -7 }, // ES256

{ type: "public-key", alg: -257 } // RS256

],

authenticatorSelection: {

authenticatorAttachment: "platform",

residentKey: "required",

userVerification: "required"

}

}

});

// Send to server

await fetch("/api/auth/passkey/register", {

method: "POST",

body: JSON.stringify({

id: credential.id,

rawId: arrayBufferToBase64(credential.rawId),

type: credential.type,

response: {

clientDataJSON: arrayBufferToBase64(credential.response.clientDataJSON),

attestationObject: arrayBufferToBase64(credential.response.attestationObject)

}

})

});

}

Server-Side Verification

from webauthn import generate_registration_options, verify_registration_response

from webauthn.helpers.structs i


Read the full article on AI Study Room for complete code examples, comparison tables, and related resources.

Found this useful? Check out more developer guides and tool comparisons on AI Study Room.

Top comments (0)