Package Data | |
---|---|
Maintainer Username: | Whyounes |
Maintainer Contact: | younes.rafie@gmail.com (Rafie Younes) |
Package Create Date: | 2016-12-11 |
Package Last Update: | 2017-03-20 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-19 03:15:08 |
Package Statistics | |
---|---|
Total Downloads: | 12 |
Monthly Downloads: | 2 |
Daily Downloads: | 0 |
Total Stars: | 8 |
Total Watchers: | 3 |
Total Forks: | 1 |
Total Open Issues: | 0 |
Two Factor Authentication for Laravel 5.3+
Add the package to your project using Composer:
composer require whyounes/laravel-two-factor-auth
Publish package assets:
php artisan vendor:publish
Run the migrations:
php artisan migrate
Add it to you providers list:
// config/app.php
// ...
'providers' => [
// ...
Whyounes\TFAuth\TwoFAProvider::class,
};
Add the TFAuthTrait
trait to your user model:
// app/User.php
class User extends Authenticatable
{
use \Whyounes\TFAuth\Models\TFAuthTrait;
// ...
}
There are only two configurations that you can set:
delete_verification_code_after_auth
: Set it to true
if you want to delete unused verification codes after login.verification_code_length
: How long the verification code is.By default, the package uses Twilio to send verification codes (SMS and Phone). You can easily change it like this:
use Whyounes\TFAuth\Contracts\VerificationCodeSenderInterface;
class MyService implements VerificationCodeSenderInterface
{
public function sendCodeViaSMS($code, $phone, $message = "Your verification code is %s")
{
// Send code and return boolean for status
}
public function sendCodeViaPhone($code, $phone, $message = "Your verification code is %s")
{
// Send code and return boolean for status
}
}
Next we should switch implementation in the container:
use Whyounes\TFAuth\Contracts\VerificationCodeSenderInterface;
class AppProvider extends ServiceProvider
{
public function register()
{
// ...
$this->app->bind(VerificationCodeSenderInterface::class, MyService::class);
}
}
That's it, your new service is going to be used for sending verification codes. If you add a new service implementation, you can submit a new pull request and I'll add it to the package :)
Check this repository for a demo application using the package.