1. Go to this page and download the library: Download dragonzap/2fa library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
namespace App\Http\Controllers\Backend\Auth\User;
use App\Http\Controllers\Controller;
use Dragonzap\TwoFactorAuthentication\TwoFactorAuthentication;
use Illuminate\Http\Request;
/**
* Class AccountController.
*/
class TwoFactorAuthenticationController extends Controller
{
public function updateTwoFactorAuthenticationEnabled(Request $request)
{
$user = auth()->user();
if ($request->has('two_factor_enabled') && $request->get('two_factor_enabled') == '1'){
$user->two_factor_enabled = true;
$user->save();
return redirect()->route('admin.account')->withFlashSuccess(__('Two Factor Authentication has been enabled.'))->with('tab', 'two-factor-auth');
}
$user->two_factor_enabled = false;
$user->save();
return redirect()->back()->withFlashSuccess( __('Two Factor Authentication has been disabled your account is no longer secure.'))->with('tab', 'two-factor-auth');
}
public function changeTwoFactorAuthenticationType(Request $request)
{
$user = auth()->user();
if ($request->has('two_factor_type') && $request->get('two_factor_type') == 'totp'){
$user->two_factor_type = 'totp';
$user->save();
// Generate a new TOTP for this user and delete old TOTPS
TwoFactorAuthentication::generateTotpForUser(auth()->user(), NULL, true);
return redirect()->route('admin.account')->withFlashSuccess(__('Two Factor Authentication type has been changed to TOTP.'))->with('tab', 'two-factor-auth');
}
$user->two_factor_type = 'otp';
$user->save();
return redirect()->route('admin.account')->withFlashSuccess(__('Two Factor Authentication type has been changed to email codes.'))->with('tab', 'two-factor-auth');
}
public function confirmTOTPAuthentication(Request $request)
{
$user = auth()->user();
if ($request->has('code')){
$totp = TwoFactorAuthentication::getTotpsForUser($user)->first();
// By veryfing the code correctly we are also confirming the TOTP, making it active
// after the first use which is now it becomes a valid TOTP
if ($totp && $totp->verify($request->get('code'))){
return redirect()->route('admin.account')->withFlashSuccess(__('Two Factor Authentication has been confirmed do not lose your authenticator app!'))->with('tab', 'two-factor-auth');
}
}
// Return error for the code field, affecting the errors bundle
return redirect()->route('admin.account')->withErrors(['code' => __('The code you entered is invalid.')])->with('tab', 'two-factor-auth');
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.