Laravel представив офіційну підтримку автентифікації за допомогою passkeys, випустивши нові власні пакети:
# Server Side
use Laravel\Passkeys\Contracts\PasskeyUser;
use Laravel\Passkeys\PasskeyAuthenticatable;
class User extends Authenticatable implements PasskeyUser
{
use PasskeyAuthenticatable;
}
laravel/passkeys-server (доступний у Packagist як laravel/passkeys) містить міграції, маршрути для входу, підтвердження та керування обліковими даними. Пакет також включає WebAuthn-дії, події та можливість гнучкого налаштування кастомної авторизації чи власних відповідей.
# Client Side
import { Passkeys } from '@laravel/passkeys'
// Registration (authenticated user)
await Passkeys.register({ name: 'My MacBook' })
// Verification (login)
await Passkeys.verify()
@laravel/passkeys відповідає за взаємодію з браузером під час реєстрації та верифікації. Пакет пропонує лаконічний API та готові рішення для React, Vue і Svelte, зокрема SSR-сумісні хуки.
# Fortify
Laravel Fortify інтегрує цей функціонал через Features::passkeys() та конфігурацію в config/fortify.php. Це дозволяє використовувати готові ендпоінти та контракти (PasskeyUser, PasskeyAuthenticatable) без необхідності писати додатковий код для їх поєднання.
Завдяки злагодженій роботі серверного пакета, npm-клієнта та Fortify, впровадження безпарольної автентифікації стає простим та універсальним для будь-якого стеку розробки.