laravel-u2f maintained by lipetuga
- php >=7.2
- yubico/u2flib-server 1.0.1
- illuminate/auth ^8.0
- illuminate/config ^8.0
- illuminate/container ^8.0
- illuminate/events ^8.0
- illuminate/database ^8.0
- illuminate/session ^8.0
- illuminate/routing ^8.0
- illuminate/http ^8.0
- illuminate/contracts ^8.0
- illuminate/view ^8.0
- illuminate/translation ^8.0
- php >=7.2
- illuminate/auth ^8.0
- illuminate/config ^8.0
- illuminate/container ^8.0
- illuminate/events ^8.0
- illuminate/database ^8.0
- illuminate/session ^8.0
- illuminate/routing ^8.0
- illuminate/http ^8.0
- illuminate/contracts ^8.0
- illuminate/view ^8.0
- illuminate/translation ^8.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- illuminate/auth ^7.0
- illuminate/config ^7.0
- illuminate/container ^7.0
- illuminate/events ^7.0
- illuminate/database ^7.0
- illuminate/session ^7.0
- illuminate/routing ^7.0
- illuminate/http ^7.0
- illuminate/contracts ^7.0
- illuminate/view ^7.0
- illuminate/translation ^7.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- laravel/framework ^7.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- laravel/framework ^6.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- laravel/framework ^6.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- laravel/framework ^6.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.1
- lipe-tuga/laravel-u2f ^1.6
- php >=7.2
- laravel/framework ^6.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.1
- php >=7.2
- laravel/framework ^6.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.2
- php >=7.2
- laravel/framework ^6.0
- illuminate/auth ^6.0
- illuminate/config ^6.0
- illuminate/container ^6.0
- illuminate/events ^6.0
- illuminate/database ^6.0
- illuminate/session ^6.0
- illuminate/routing ^6.0
- illuminate/http ^6.0
- illuminate/contracts ^6.0
- illuminate/view ^6.0
- illuminate/translation ^6.0
- yubico/u2flib-server 1.0.2
- php >=7.0
- yubico/u2flib-server 1.0.1
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
- php >=7.0
- yubico/u2flib-server 1.0.1
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
- php >=7.0
- yubico/u2flib-server 1.0.1
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
- php >=7.0
- yubico/u2flib-server 1.0.1
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
- php >=7.0
- yubico/u2flib-server 1.0.2
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
- php >=7.0
- yubico/u2flib-server 1.0.1
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
- php >=7.0
- yubico/u2flib-server 1.0.1
- laravel/laravel ^5.8
- laravel/framework ^5.8
- illuminate/auth ^5.8
- illuminate/config ^5.8
- illuminate/container ^5.8
- illuminate/events ^5.8
- illuminate/database ^5.8
- illuminate/session ^5.8
- illuminate/routing ^5.8
- illuminate/http ^5.8
- illuminate/contracts ^5.8
- illuminate/view ^5.8
- illuminate/translation ^5.8
laravel-u2f
This PSR4 package provide u2f protocol integration in laravel 6 framework.
Requirements
- A top level domain
- HTTPS
- PHP >= 7.2 (If you want to use this package with php 5 you need to use the version v1.1.0)
Install
Via Composer
$ composer require lahaxearnaud/laravel-u2f
Laravel 5.5+ uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.
Configs
$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-config
Assets
$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-components
Views
$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-views
Note that default views use Laravel's default Bootstrap 4. If you don't use it, you have to update the views.
Migrations
$ php artisan vendor:publish --provider="Lipetuga\U2f\U2fServiceProvider" --tag=u2f-migrations
$ php artisan migrate
Middleware
In the app/Http/Kernel.php file
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
// ...
'u2f' => \Lipetuga\U2f\Http\Middleware\U2f::class,
];
Usage
A example projet is available to help you with the configuration / usage.
Middleware
In the route.php file add the u2f middleware on your routes or groups:
Route::get('admin/profile', ['middleware' => ['auth', 'u2f'], function () {
//
}]);
In controller:
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware(['auth', 'u2f']);
}
Configuration
Events
-
Name:
u2f.authenticationPayload:
[ 'u2fKey' => $key, 'user' => Auth::user() ]Description: An user authenticate himself with a valid u2f key
-
Name:
u2f.registerPayload
[ 'u2fKey' => $key, 'user' => Auth::user() ]Description: An user register a new u2f key
Change log
Please see CHANGELOG for more information what has changed recently.
Security
If you discover any security related issues, please email lahaxe[dot]arnaud[at]gmail[dot]com instead of using the issue tracker.
Credits
- Arnaud LAHAXE
- Mike Robinson
- Chakphanu Komasathit
- Anne Jan Brouwer
- Alexis Saettler
- Thomas Lété
- Luca Bognolo
License
The MIT License (MIT). Please see License File for more information.
After coding
What better way to relax, after spending hours coding, than a good cocktail on the terrace?

