لاراول از پسکیها پشتیبانی بومی میکنه
خلاصهٔ کاملتر
لاراول با انتشار پکیجهای first-party جدید، پشتیبانی بومی از پسکی (Passkey) رو به فریمورک اضافه کرده. پسکی یک استاندارد احراز هویت مدرنه که بهجای رمز عبور از کلیدهای رمزنگاری ذخیرهشده روی دستگاه کاربر استفاده میکنه — مثل اثر انگشت، Face ID، یا PIN گوشی. این استاندارد روی پروتکل WebAuthn بنا شده.
سمت سرور با پکیج laravel/passkeys (که روی Packagist هم با همین نام منتشر شده) مدیریت میشه. کافیه مدل User اپ رو پیادهسازی کنی:
use Laravel\Passkeys\Contracts\PasskeyUser;
use Laravel\Passkeys\PasskeyAuthenticatable;
class User extends Authenticatable implements PasskeyUser
{
use PasskeyAuthenticatable;
}این پکیج migration ها، route های لازم برای لاگین، تأیید هویت، و مدیریت credential ها، بهعلاوهی action ها و event های WebAuthn رو فراهم میکنه. همچنین برای مواردی که نیاز به سفارشیسازی داری — مثل authorization، response، یا route های اختصاصی — escape hatch هم داره.
سمت کلاینت پکیج npm به نام @laravel/passkeys کار رو راه میندازه. این پکیج دو عملیات اصلی رو مدیریت میکنه: ثبت پسکی جدید توسط کاربر لاگینکرده (register) و احراز هویت هنگام لاگین (verify):
import { Passkeys } from '@laravel/passkeys'
// Registration (authenticated user)
await Passkeys.register({ name: 'My MacBook' })
// Verification (login)
await Passkeys.verify()این پکیج helper های اختصاصی برای React، Vue، و Svelte داره و SSR-safe هم هست — یعنی توی اپهایی که سمت سرور رندر میشن، مشکل ایجاد نمیکنه.
Laravel Fortify هم از این استک پشتیبانی میکنه. کافیه Features::passkeys() رو فعال کنی و یه بخش passkeys به فایل config/fortify.php اضافه شده. اینطوری اپهای مبتنی بر Fortify بدون نیاز به پیادهسازی مجدد، همان endpoint ها و contract ها رو میگیرن.
نکات کلیدی:
- پکیج سرور
laravel/passkeys، پکیج کلاینت@laravel/passkeys، و Fortify با هم یک استک یکپارچه میسازن - احراز هویت کاملاً بدون رمز عبور، مبتنی بر WebAuthn
- پشتیبانی از React، Vue، و Svelte در سمت کلاینت
- سازگار با SSR و قابل سفارشیسازی در هر لایه




