moontechs / filament-webauthn
Filament webauthn 登录和注册
0.1.8
2022-10-26 20:18 UTC
Requires
- php: >=8.0
- ext-gmp: *
- ext-json: *
- ext-openssl: *
- ext-sodium: *
- filament/filament: ^2.0
- illuminate/contracts: ^9.0
- madwizard/webauthn: ^0.8.1
- spatie/laravel-package-tools: ^1.13.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
README
为您的 Filament 应用程序提供无密码登录。Web 认证服务端和前端组件。
该软件包包含以下组件
- 注册按钮和小部件
- 登录表单扩展,用于跳转到 webauthn 登录页面
- 独立的路由和页面,带有 webauthn 登录表单
应与 HTTPS 一起工作,而不仅仅是 localhost。
安装
您可以通过 composer 安装此软件包
composer require moontechs/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', '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)。有关更多信息,请参阅 许可文件。