← Back to Plugins
  • Web Authentication (FIDO)

Web Authentication (FIDO)

Plugin information

by Michael • 4 stars

Authentication Widget

Passwordless login for your Filament app. Web Authentication server-side and front-end components.

Support

#web-authentication-fido on Discord

Views

359

License

MIT

Documentation

Installation

You can install the package via composer:

composer require moontechs/filament-webauthn

You should publish and run the migrations with:

php artisan vendor:publish --tag="filament-webauthn-migrations"
php artisan migrate

You can publish the config file with:

php artisan vendor:publish --tag="filament-webauthn-config"

This is the contents of the published config file:

return [
'login_page_url' => '/webauthn-login',
'user' => [
'auth_identifier' => 'email', // column in users table with unique user id
],
'widget' => [
'column_span' => '',
],
'register_button' => [
'icon' => 'heroicon-o-key',
'class' => 'w-full',
],
'login_button' => [
'icon' => 'heroicon-o-key',
'class' => 'w-full',
],
'auth' => [
'relying_party' => [
'name' => env('APP_NAME'),
'origin' => env('APP_URL'),
'id' => env('APP_HOST', parse_url(env('APP_URL'))['host']),
],
'client_options' => [
'timeout' => 60000,
'platform' => '', // available: platform, cross-platform, or leave empty
'attestation' => 'direct', // available: direct, indirect, none
'user_verification' => 'required', // available: required, preferred, discouraged
],
],
];

Optionally, you can publish the views using

php artisan vendor:publish --tag="filament-webauthn-views"

You can publish the translation file with:

php artisan vendor:publish --tag="filament-webauthn-translations"

Usage

Registration widget

Only signed-in users can register a device to be able to sign in to use it in the future.

Customization

Registration button (without widget)

Customization

Redirect to the login page button

If you didn't want to use this button, you can use a simple redirect to a named route filament-webauthn.login.

Login form

Customization