PHPackages                             faiare/laravel-webauthn - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. faiare/laravel-webauthn

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

faiare/laravel-webauthn
=======================

A WebAuthn library for Laravel

0.2.0(2mo ago)153MITPHPPHP ^8.2|^8.3|^8.4|^8.5CI passing

Since Jul 22Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/faiare/laravel-webauthn)[ Packagist](https://packagist.org/packages/faiare/laravel-webauthn)[ RSS](/packages/faiare-laravel-webauthn/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (10)Versions (3)Used By (0)

Laravel WebAuthn
================

[](#laravel-webauthn)

This project is currently under development.

It references the following repository extensively:

For a comprehensive solution, consider using the well-established adapter available at:

This adapter offers a seamless integration of both front-end and back-end components.

In contrast, this library provides only a simple authentication Facade.

Included Features
-----------------

[](#included-features)

- Back-end Registration \[x\]
- Back-end Authentication \[x\]
- Front-end Registration \[\]
- Front-end Authentication \[\]
- Store WebAuthn keys in database \[\]

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Laravel 10.0 or higher
- ext-openssl

Installation
------------

[](#installation)

```
composer require faiare/laravel-webauthn
```

Usage
-----

[](#usage)

### Register Passkey

[](#register-passkey)

```
use Faiare\LaravelWebAuthn\Facades\WebAuthn;

$publicKey = WebAuthn::prepareChallengeForRegistration(
    username: 'username',
    userid: '100',
    crossPlatform: true,
);
```

Frontend example is in the examples directory.

```
use Faiare\LaravelWebAuthn\Facades\WebAuthn;
use Illuminate\Support\Facades\DB;

// info must be a string
$info = request()->input('credential');

$publicKey = WebAuthn::register($info);

// store the public key, example...
DB::table('web_authn_keys')->insert([
    'webauthn_id' => $publicKey->webauthnId,
    'webauthn_key' => $publicKey->webauthnKey,
]);
```

### Authenticate Passkey

[](#authenticate-passkey)

```
use Faiare\LaravelWebAuthn\Facades\WebAuthn;

$publicKey = WebAuthn::prepareForAuthenticate();
```

Frontend example is in the examples directory.

```
use Faiare\LaravelWebAuthn\Facades\WebAuthn;
use \Illuminate\Support\Facades\DB;

// info must be a string
$info = request()->input('credential');
$webAuthnId = WebAuthn::parseWebAuthnId($info);

// table must have a column named webauthn_id, webauthn_key
$webAuthnKey = DB::table('web_authn_keys')->where('webauthn_id', $webAuthnId)->first();

$success = WebAuthn::authenticate($info, $webAuthnKey);
```

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance86

Actively maintained with recent releases

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 78.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~587 days

Total

2

Last Release

72d ago

PHP version history (2 changes)0.1.0PHP ^8.2|^8.3

0.2.0PHP ^8.2|^8.3|^8.4|^8.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/3e4f2a4306cbacc1f56d6dba6cefee81136d5f8fcb7cb0671fc5c17c98fc4276?d=identicon)[faiare](/maintainers/faiare)

---

Top Contributors

[![faiare](https://avatars.githubusercontent.com/u/11206952?v=4)](https://github.com/faiare "faiare (18 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/faiare-laravel-webauthn/health.svg)

```
[![Health](https://phpackages.com/badges/faiare-laravel-webauthn/health.svg)](https://phpackages.com/packages/faiare-laravel-webauthn)
```

###  Alternatives

[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[jakub-onderka/openid-connect-php

Bare-bones OpenID Connect client

1151.4k](/packages/jakub-onderka-openid-connect-php)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1516.7k](/packages/truckersmp-steam-socialite)[pschocke/laravel-telegram-login-widget

Easily integrate Telegrams login widget into your Laravel application to send Telegram messages

1610.4k](/packages/pschocke-laravel-telegram-login-widget)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
