Skip to content

feat(auth): add passkey support with WebAuthn registration, authentication, and management#2263

Merged
mandarini merged 2 commits intodevelopfrom
fm/auth-1145-passkeys
Apr 24, 2026
Merged

feat(auth): add passkey support with WebAuthn registration, authentication, and management#2263
mandarini merged 2 commits intodevelopfrom
fm/auth-1145-passkeys

Conversation

@fadymak
Copy link
Copy Markdown
Contributor

@fadymak fadymak commented Apr 21, 2026

Adds client-side passkey API with full WebAuthn ceremony handling, a lower-level two-step API via auth.passkey namespace, passkey management, and admin endpoints for server-side passkey operations.

The new API:

// High-level (full WebAuthn ceremony)
auth.signInWithPasskey()
auth.registerPasskey()

// Lower-level two-step API (for native flows or complete control over the ceremony)
auth.passkey.startRegistration()
auth.passkey.verifyRegistration()
auth.passkey.startAuthentication()
auth.passkey.verifyAuthentication()

// Management
auth.passkey.list()
auth.passkey.update()
auth.passkey.delete()

// Admin
auth.admin.passkey.listPasskeys()
auth.admin.passkey.deletePasskey()

Introduces concept of experimental feature flags to require callers to explicitly opt in explicitly:

Enable it when creating the client:

const supabase = createClient(supabaseUrl, supabaseKey, {
  auth: {
    experimental: { passkey: true },
  },
})

Without the flag, every passkey method throws a descriptive Error pointing to the opt-in key.

@github-actions github-actions Bot added the auth-js Related to the auth-js library. label Apr 21, 2026
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 21, 2026

Open in StackBlitz

@supabase/auth-js

npm i https://pkg.pr.new/@supabase/auth-js@2263

@supabase/functions-js

npm i https://pkg.pr.new/@supabase/functions-js@2263

@supabase/postgrest-js

npm i https://pkg.pr.new/@supabase/postgrest-js@2263

@supabase/realtime-js

npm i https://pkg.pr.new/@supabase/realtime-js@2263

@supabase/storage-js

npm i https://pkg.pr.new/@supabase/storage-js@2263

@supabase/supabase-js

npm i https://pkg.pr.new/@supabase/supabase-js@2263

commit: a464075

@flobo79
Copy link
Copy Markdown

flobo79 commented Apr 23, 2026

🔥🔥🔥🔥- realisitically, is this going to happen and how far away? Is it worth waiting with my own implementation?

@fadymak fadymak marked this pull request as ready for review April 23, 2026 08:44
@fadymak fadymak requested review from a team as code owners April 23, 2026 08:44
Copy link
Copy Markdown
Contributor

@mandarini mandarini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great PR @fadymak ! :D I assume the server changes are already in place?

@mandarini mandarini merged commit 18b80ef into develop Apr 24, 2026
24 of 25 checks passed
@mandarini mandarini deleted the fm/auth-1145-passkeys branch April 24, 2026 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auth-js Related to the auth-js library.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants