Skip to main content
Dit artikel is een eerste verkenning op basis van de README’s van laravel/passkeys-server en laravel/passkeys. Beide packages bevinden zich nog in een ontwikkelstadium zonder tags (per april 2026).

Wat zijn dit voor packages

In de officiële Laravel-repository’s zijn twee packages gepubliceerd voor het implementeren van wachtwoordloze authenticatie (WebAuthn / passkeys). Door deze twee te combineren kun je in een Laravel-app passkey-registratie en passkey-login van begin tot eind implementeren.

Serverzijde: laravel/passkeys-server

Installatie en eerste setup

1

Voeg de PHP-package toe

2

Publiceer de migraties en voer ze uit

3

Voeg de trait en het contract toe aan je User-model

Desgewenst kun je ook het configuratiebestand publiceren.

Automatisch geregistreerde routes

Belangrijkste opties in config/passkeys.php

  • relying_party_id
  • allowed_origins
  • user_handle_secret
  • timeout
  • guard
  • middleware
  • throttle
  • redirect

Events

De package vuurt de volgende events af.
  • PasskeyRegistered
  • PasskeyVerified
  • PasskeyDeleted

Aanpassingsmogelijkheden

Met Passkeys::authorizeLoginUsing() bepaal je of de login na een geslaagde verificatie wordt toegestaan. Wil je de login tegenhouden, geef dan false terug of gooi een ValidationException.
Je kunt GenerateRegistrationOptions / GenerateVerificationOptions / StorePasskey / VerifyPasskey / DeletePasskey extenden en aan de servicecontainer binden om het gedrag te vervangen.
Door contracts zoals PasskeyLoginResponse zelf te implementeren, kun je de succesresponse (JSON, redirect, enz.) aanpassen aan de eisen van je app.

Clientzijde: @laravel/passkeys

@laravel/passkeys is een JavaScript-client die de WebAuthn-ceremonie in de browser afhandelt.

Installatie

Basis-API

Frameworkhelpers

  • React: usePasskeyVerify en usePasskeyRegister uit @laravel/passkeys/react
  • Vue: usePasskeyVerify en usePasskeyRegister uit @laravel/passkeys/vue
  • Svelte: usePasskeyVerify en usePasskeyRegister uit @laravel/passkeys/svelte

Passkey-autofill

Met autofill: true kun je de passkey-picker van de browser tonen bij inputs met autocomplete="... webauthn". In niet-ondersteunde omgevingen of wanneer de gebruiker annuleert, valt de flow terug op het normale proces.

Getypeerde errors

De README documenteert de volgende errorklassen.
  • NotSupportedError
  • UserCancelledError
  • PasskeyExistsError
  • PasskeyError (basisklasse)

SSR-ondersteuning

WebAuthn is een browser-API, maar de hooks voor elk framework zijn SSR-safe. Aan de serverzijde wordt isSupported als false behandeld en na het mounten bijgewerkt naar de werkelijke browserstatus.

Samenvatting

  • Door laravel/passkeys-server (PHP) en @laravel/passkeys (JS) te combineren, bouw je een volledige passkey-authenticatiestack binnen Laravel.
  • Beide packages bevinden zich nog in een ontwikkelstadium zonder tags, maar als onderdeel van het officiële Laravel-ecosysteem is de kans groot dat dit de standaard authenticatiemethode van de toekomst wordt.
  • Als je vroeg instapt, is het verstandig om je ontwerp te baseren op de routes, configuratie, foutafhandeling en uitbreidingspunten uit de README.
Passkeys zijn inmiddels officieel toegevoegd als feature van Laravel Fortify. Wil je passkeys via Fortify inschakelen, gebruik dan Features::passkeys() in plaats van laravel/passkeys-server direct te installeren. Zie Laravel Fortify en de starter kits voor meer informatie.

laravel/passkeys-server

Bekijk de nieuwste README en implementatie van de serverpackage.

@laravel/passkeys

Bekijk de nieuwste README en API van de clientpackage.

Laravel Fortify en de starter kits

Uitleg over het inschakelen van passkeys via Fortify en de relatie met de starter kits.
Laatst gewijzigd op 6 september 2026