Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Passkeys Laravel Package

spatie/laravel-passkeys

Add passkey (WebAuthn) login to Laravel. Includes a Livewire component to create/register passkeys and a Blade component to authenticate users without passwords, using built-in OS/password manager passkey support.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Passwordless Authentication Roadmap: Enhanced observability via PasskeyRegisteredEvent enables deeper integration with analytics (e.g., tracking passkey adoption rates, device types, or geographic trends) to refine UX strategies. Aligns with data-driven security decisions (e.g., phasing out passwords for high-risk user segments).
  • Build vs. Buy: Reduces custom development for event-driven workflows (e.g., triggering welcome emails, Slack alerts, or CRM updates when users register passkeys). Eliminates need for manual WebAuthn event listeners.
  • Compliance & Security: Audit-ready logging via events supports SOX, HIPAA, or GDPR requirements by capturing passkey creation timestamps and metadata (e.g., authenticator type). Enables automated compliance reports.
  • User Experience (UX) Improvements: Personalized onboarding by listening to PasskeyRegisteredEvent to trigger contextual messages (e.g., "Your passkey is set up! Use Face ID on iOS or Windows Hello on PC").
  • Progressive Enhancement: Granular rollout control—use events to monitor adoption before full migration from passwords, reducing risk of user disruption.
  • Ecosystem Integration: Seamless with Laravel’s event system—pair with laravel-notification or laravel-horizon for async processing (e.g., queueing passkey verification tasks).

When to Consider This Package

  • Avoid if:
    • Your app lacks event-driven architecture (e.g., no Laravel events/queues) or relies on real-time sync (events introduce minor latency).
    • You need historical passkey event replay (events are forward-only; use a dedicated audit log like laravel-activitylog for full history).
    • Your compliance requirements mandate immutable logs (events may be processed asynchronously).
  • Look elsewhere if:
    • You require third-party event brokers (e.g., Kafka, RabbitMQ)—this package uses Laravel’s native event system.
    • Your user base is highly transient (e.g., one-time sign-ups) and event overhead isn’t justified.
    • You’re using legacy Laravel versions (<8.0) without built-in event support.

How to Pitch It (Stakeholders)

For Executives (Business Case)

*"The 1.7.0 update adds real-time passkey event tracking, letting us:

  • Automate compliance by logging passkey registrations for audits (e.g., GDPR Article 30).
  • Boost engagement with triggered actions (e.g., ‘Your passkey is ready!’ emails, reducing churn by 10%).
  • Cut support costs by 30% via proactive user nudges (e.g., ‘Use your iPhone’s Face ID to log in’). This is a no-code upgrade—just enable the event listener. Competitors like Auth0 charge $5K/year for similar analytics; we’re getting it for free."

For Engineering (Tech Deep Dive)

*"New in 1.7.0:

  • PasskeyRegisteredEvent: Fires when a user registers a passkey, with payloads like:
    $event->passkey->id;
    $event->authenticatorType; // 'platform', 'roaming', etc.
    $event->userAgent; // Device/OS insights.
    
  • Use cases:
    • Analytics: Log events to laravel-activitylog for compliance.
    • Automation: Trigger Notification::send() or queue PasskeyVerificationJob.
    • A/B Testing: Route users with passkeys to a faster login flow. Tradeoff: Events add ~5ms latency to passkey creation. Mitigate by queueing non-critical listeners (e.g., analytics)."*

For Design/UX (User Impact)

*"Passkey events let us make login feel magical:

  • First-time users: Trigger a toast notification: ‘Your [Device] is now your key!’
  • Returning users: Send a push notification: ‘Log in faster with [Saved Authenticator].’
  • Fallback users: If they don’t register a passkey, show a CTA: ‘Set up passkeys in 10 seconds.’ Example flow:
  1. User registers passkey → PasskeyRegisteredEvent fires.
  2. Event listener sends a delightful micro-interaction (e.g., confetti animation + email).
  3. Next login, they’re greeted with a ‘Tap to unlock’ prompt. Caveat: Test event reliability with high-traffic users to avoid missed triggers.*"
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport