c6digital/filament-passwordless-login

Filament 的简单无密码登录。

v0.3.0 2024-03-20 15:11 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

此包提供了一种新的登录组件,用简单的无密码登录表单替换了传统的电子邮件和密码表单。

安装

您可以通过 composer 安装此包

composer require c6digital/filament-passwordless-login

可选地,您可以使用以下方法发布视图

php artisan vendor:publish --tag="filament-passwordless-login-views"

用法

在 Filament 控面板上注册插件。

use C6Digital\PasswordlessLogin\PasswordlessLoginPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->//...
        ->plugin(PasswordlessLoginPlugin::make());
}

这将自动注册新的登录页面,覆盖 Filament 提供的页面。它还会注册必要的路由,使用魔法登录链接进行用户认证。

在本地环境中使用密码

在开发过程中发送登录链接电子邮件可能会有困难。如果您仍在存储用户的密码,您可以在 local 环境中启用密码认证。

PasswordlessLoginPlugin::make()
    ->allowPasswordInLocalEnvironment()

现在,当 APP_ENV=local 时,登录页面将显示“密码”字段。

操作

此包还提供了一个可以在 Filament 表格内使用的 Action

use C6Digital\PasswordlessLogin\Actions\LoginLinkAction;

$table
    ->actions([
        LoginLinkAction::make(),
    ]);

命令

如果您需要在不访问网站的情况下生成登录链接,您可以使用 passwordless:link 命令。

php artisan passwordless:link {email}

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略

鸣谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件