lakm/nopass

为您的Laravel项目提供无密码认证。

1.0.1 2024-09-25 05:09 UTC

This package is auto-updated.

Last update: 2024-09-25 05:10:34 UTC


README

概览 | 工作原理 | 验证链接 | OTP代码 | 使用示例 | 变更日志 | 测试 | 安全 | 许可

Commenter logo

密码不再安全!

Laravel GitHub Actions Workflow Status Packagist Version Downloads GitHub License

概览

"我厌倦了密码!我总是不得不重置它们。"

"哦不,我的密码泄露了。我猜是密码管理器的错。"

"有人访问了我的账户——我想他们猜出了我的弱密码。"

我们都有过这些问题。随着互联网的发展,现在几乎有我们需要的所有网站。现代用户通常有超过五个在线账户。

您有多少个在线账户?答案很可能是超过一个——可能超过10个。那么,您是如何记住每个账户的密码的呢?以下是一些您可能考虑的选项

  • 记住它们。
  • 使用密码管理器。
  • 每次忘记密码时都重置它。😂

我们可以很容易地排除第一种方法,因为大多数人都不会有超人般的记忆力。虽然密码管理器是一个流行的选择,但它们的安保不是万无一失的——数据泄露和密码泄露事件发生得太频繁,使得它们成为一个不太可靠的选择。

这就是用户的故事。我们提供更多方便的认证方法供用户使用并改善用户体验是我们的责任。这就是这个包的用意所在。

!注意 该包不提供任何认证方法。相反,它提供两种方法供您在现有的认证系统中使用。您可以使用任何认证,如breeze、jetstream或自定义的。示例实现已在演示项目中提供

工作原理

该包提供了两种验证方法:将验证链接发送到用户的电子邮件地址或将OTP(一次性密码)发送到用户的手机号码。

验证链接

生成链接

    use LakM\NoPass\Facades\NoPass;
    
    $data = [];
    
    $link = NoPass::for($user)
        ->email()
        ->routeName('login-link')
        ->generate($data); // Data are attached to query string

OTP代码

生成OTP代码

    use LakM\NoPass\Facades\NoPass;
    
    $link = NoPass::for($user)
        ->otp()
        ->generate();

检查有效性

检查电子邮件

    use LakM\NoPass\Facades\NoPass;
    
    $isValid = NoPass::for($user)
            ->isValid();

检查OTP

    use LakM\NoPass\Facades\NoPass;
    
    $isValid = NoPass::for($user)
            ->isValid($otp);

无效化

    use LakM\NoPass\Facades\NoPass;
    
    $isValid = NoPass::for($user)
            ->inValidate();

使用示例

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

测试

./vendor/bin/pest

安全

请参阅此处了解我们的安全策略。

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。