sebastiancx / filament-webauthn
Filament webauthn 登录和注册
v0.0.4-beta
2023-07-22 19:34 UTC
Requires
- php: ^8.1
- ext-gmp: *
- ext-json: *
- ext-openssl: *
- ext-sodium: *
- filament/filament: ^3.0
- illuminate/contracts: ^10.0
- sebastiancx/webauthn: 0.0.1
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-22 21:57:46 UTC
README
为您的 Filament 应用提供无密码登录。Web 认证服务器端和前端组件。
此包包含以下组件
- 注册按钮和小部件
- 登录表单扩展,用于重定向到 webauthn 登录页面
- 带有 webauthn 登录表单的独立路由和页面
应支持 HTTPS,而不仅仅是 localhost。
安装
您可以通过 composer 安装此包
composer require sebastiancx/filament-webauthn
您应该使用以下命令发布并运行迁移
php artisan vendor:publish --tag="filament-webauthn-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="filament-webauthn-config"
这是已发布配置文件的内容
return [ 'login_page_url' => '/webauthn-login', 'webauthn_layout' => 'filament::components.layouts.card', '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 ], ], ];
可选地,您可以使用以下命令发布视图
php artisan vendor:publish --tag="filament-webauthn-views"
您可以使用以下命令发布翻译文件
php artisan vendor:publish --tag="filament-webauthn-translations"
使用方法
- 安装包。
- 发布迁移并迁移。
注册小部件
只有已登录用户才能注册设备,以便将来使用它进行登录。
- 注册
Moontechs\FilamentWebauthn\Widgets\WebauthnRegisterWidget::class
小部件。将其添加到 Filament 配置的widgets.register
数组中。
自定义
- 发布配置文件
widget.column_span
- 小部件宽度 (文档)
注册按钮(不带小部件)
- 在任何视图中添加
<livewire:webauthn-register-button/>
。
自定义
- 发布配置文件
register_button.icon
- 选择任何可用的图标register_button.class
- 添加更多类或更改默认类
重定向到登录页面按钮
- 发布 Filament 登录页面视图
php artisan vendor:publish --tag=filament-views
- 将
<x-filament-webauthn::login-form-extension />
添加到登录表单的末尾。
如果您不想使用此按钮,您可以使用简单的重定向到名为路由 filament-webauthn.login
。
登录表单
自定义
- 发布配置文件
login_button.icon
- 选择任何可用的图标login_button.class
- 添加更多类或更改默认类
测试
composer test
鸣谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 以获取更多信息。