Пакет для роботи з passkeys у Laravel

Перекладено ШІ 0 Spatie 30 липня, 2026

Чи готові ви назавжди відмовитися від складних паролів на користь миттєвої та безпечної технології Passkeys? Новий пакет spatie/laravel-passkeys дозволяє впровадити безпарольну автентифікацію у ваші Laravel проєкти за допомогою лише кількох готових компонентів.

Passkeys дозволяють забути про паролі. Замість них ви створюєте спеціальний ключ, що зберігається в 1Pass, стандартному менеджері паролів MacOS або будь-якому іншому застосунку на ваш смак.

Це максимально зручно для користувачів: не потрібно вводити email чи пароль, не потрібно чекати редиректу на сторонні сервіси для автентифікації, а сам вхід відбувається миттєво.

Для розробників, однак, головним мінусом була складність реалізації Passkeys. Ми раді представити новий пакет spatie/laravel-passkeys, який робить додавання цієї функції в Laravel-застосунок максимально простим.

Як використовувати пакет

Пакет надає два компоненти, які закривають усі потреби у роботі з Passkeys:

  • Livewire-компонент livewire:passkeys для генерації та відображення списку ключів користувача.
  • Blade-компонент, що рендерить посилання для запуску процесу авторизації.

Генерація та відображення ключів

Для керування ключами призначений Livewire-компонент livewire:passkeys.

Ось так виглядає створення Passkey у сервісі Mailcoach, який уже використовує наш пакет.

Після встановлення пакета (що потребує лише кількох кроків), вам достатньо просто додати компонент у ваш view-файл.

<livewire:passkeys />

Ми навмисно зробили початковий дизайн компонента мінімалістичним, щоб ви могли стилізувати його під свій інтерфейс. На відео вище ми адаптували його під UI Mailcoach.

Автентифікація за допомогою Passkeys

Щоб дозволити користувачам входити в систему, додайте Blade-компонент authenticate-passkey на сторінку логіну.

<x-authenticate-passkey />

Перегляньте, як працює вхід у Mailcoach: не потрібно вводити ані пошту, ані пароль. Просто натискаєте "Log in with passkey", а 1Pass (або інший застосунок) робить усе інше.

Як це працює зсередини

Passkey — це унікальна пара ключів, яку створює менеджер паролів або апаратний ключ безпеки. Один ключ — публічний — зберігається у таблиці passkeys вашого Laravel-застосунку, а інший — приватний — залишається у менеджері паролів.

Під час входу ваш застосунок генерує challenge (запит), який менеджер паролів "підписує" приватним ключем. Ця безпечна відповідь надсилається назад у Laravel. Якщо перевірка успішна — користувач авторизований.

Більше про технологію можна дізнатися тут. Також на Laracasts є чудовий курс про впровадження Passkeys у Laravel.

Допоможіть нам

Зараз пакет підтримує лише Livewire і не має готових компонентів для застосунків на Inertia. Проте ви можете використовувати класи Action із нашого пакета у власних компонентах для Inertia.

Якщо ви працюєте з Inertia на Vue або React, ми будемо вдячні за PR з документацією чи готовими компонентами.

На завершення

Passkeys — це неймовірно зручно. Для мене це улюблений спосіб авторизації в будь-якому сервісі. З новим пакетом spatie/laravel-passkeys додати таку можливість у ваш проект стане справою кількох хвилин.

Щоб почати роботу, переходьте до детальної документації.

Популярні

Інше, що варто прочитати

60 Оновлено 26 червня, 2026

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу

15 Оновлено 26 червня, 2026

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

19 Оновлено 26 червня, 2026

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!