lipetuga/laravel-u2f

laravel 7 的 U2F 支持

安装: 52

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 22

语言:JavaScript

1.8.5 2020-11-03 10:49 UTC

README

Scrutinizer Code Quality SensioLabsInsight

此 PSR4 包提供在 Laravel 6 框架中集成 U2F 协议。

需求

  • 顶级域名
  • HTTPS
  • PHP >= 7.2(如果您想使用此包与 PHP 5 一起使用,则需要使用版本 v1.1.0)

安装

通过 Composer

$ composer require lahaxearnaud/laravel-u2f

Laravel 5.5+ 使用包自动发现,因此不需要您手动添加 ServiceProvider。

配置

$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-config

资产

$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-components

视图

$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-views

注意,默认视图使用 Laravel 的默认 Bootstrap 4。如果您不使用它,您必须更新视图。

迁移

$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-migrations
$ php artisan migrate

中间件

在 app/Http/Kernel.php 文件中

 protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    // ...
    'u2f' => \Lipetuga\U2f\Http\Middleware\U2f::class,
    ];

用法

有一个 示例项目 可用于帮助您进行配置/使用。

中间件

在 route.php 文件中,在您的路由或分组中添加 u2f 中间件

Route::get('admin/profile', ['middleware' => ['auth', 'u2f'], function () {
    //
}]);

在控制器中

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware(['auth', 'u2f']);
}

配置

事件

  • 名称: u2f.authentication

    负载: [ 'u2fKey' => $key, 'user' => Auth::user() ]

    描述: 用户使用有效的 U2F 密钥进行身份验证

  • 名称: u2f.register

    负载 [ 'u2fKey' => $key, 'user' => Auth::user() ]

    描述: 用户注册新的 U2F 密钥

变更日志

请参阅 CHANGELOG 了解最近更改的信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件 lahaxe[dot]arnaud[at]gmail[dot]com 联系我们,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。

编码之后

在花费数小时编码之后,还有什么比在露台上享用一杯美酒更好的放松方式呢?cocktail