diff --git a/app/Http/Controllers/Auth/AuthController.php b/app/Http/Controllers/Auth/AuthController.php index 733d0ba48ad1..f76d469e2c24 100644 --- a/app/Http/Controllers/Auth/AuthController.php +++ b/app/Http/Controllers/Auth/AuthController.php @@ -176,13 +176,13 @@ public function getTwoFactorEnroll() $google2fa = app()->make('PragmaRX\Google2FA\Contracts\Google2FA'); if ($user->two_factor_secret=='') { - $user->two_factor_secret = $google2fa->generateSecretKey(32); + $user->two_factor_secret = $google2fa->generateSecretKey(); $user->save(); } $google2fa_url = $google2fa->getQRCodeGoogleUrl( - urlencode(Setting::getSettings()->site_name), + Setting::getSettings()->site_name, $user->username, $user->two_factor_secret ); diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index b94f336879d8..a08e22d0ce82 100755 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -9,7 +9,6 @@ use Auth; use App\Helpers\Helper; use App\Models\Setting; -use Gate; /** * This controller handles all actions related to User Profiles for @@ -55,8 +54,7 @@ public function postIndex() $user->gravatar = e(Input::get('gravatar')); $user->locale = e(Input::get('locale')); - - if ((Gate::allows('self.two_factor')) && ((Setting::getSettings()->two_factor_enabled=='1') && (!config('app.lock_passwords')))) { + if ((Setting::getSettings()->two_factor_enabled=='1') && (!config('app.lock_passwords'))) { $user->two_factor_optin = e(Input::get('two_factor_optin', '0')); } diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 77f191f60b31..acd59e4edaf6 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -317,13 +317,7 @@ public function postEdit() $setting->site_name = e(Input::get('site_name')); $setting->brand = e(Input::get('brand')); $setting->custom_css = e(Input::get('custom_css')); - - if (Input::get('two_factor_enabled')=='') { - $setting->two_factor_enabled = null; - } else { - $setting->two_factor_enabled = e(Input::get('two_factor_enabled')); - } - + $setting->two_factor_enabled = e(Input::get('two_factor_enabled')); } if (Input::get('per_page')!='') { diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 67b9fd12f03d..4be51cacec57 100755 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -1419,6 +1419,4 @@ public function postTwoFactorReset(Request $request) } } - - } diff --git a/app/Http/Middleware/CheckForTwoFactor.php b/app/Http/Middleware/CheckForTwoFactor.php index b69127e2fdf5..f4d5a133060f 100644 --- a/app/Http/Middleware/CheckForTwoFactor.php +++ b/app/Http/Middleware/CheckForTwoFactor.php @@ -38,10 +38,10 @@ public function handle($request, Closure $next) // Otherwise make sure they're enrolled and show them the 2FA code screen if ((Auth::user()->two_factor_secret!='') && (Auth::user()->two_factor_enrolled=='1')) { return redirect()->route('two-factor')->with('info', 'Please enter your two-factor authentication code.'); + } else { + return redirect()->route('two-factor-enroll')->with('success', 'Please enroll a device in two-factor authentication.'); } - return redirect()->route('two-factor-enroll')->with('success', 'Please enroll a device in two-factor authentication.'); - } diff --git a/resources/lang/en/admin/settings/general.php b/resources/lang/en/admin/settings/general.php index 1a6b2d4797a5..fa88f72686bd 100644 --- a/resources/lang/en/admin/settings/general.php +++ b/resources/lang/en/admin/settings/general.php @@ -114,15 +114,12 @@ 'two_factor_reset_error' => 'Two factor device reset failed', 'two_factor_enabled_warning' => 'Enabling two-factor if it is not currently enabled will immediately force you to authenticate with a Google Auth enrolled device. You will have the ability to enroll your device if one is not currently enrolled.', 'two_factor_enabled_help' => 'This will turn on two-factor authentication using Google Authenticator.', - 'two_factor_optional' => 'Selective (Users can enable or disable if permitted)', + 'two_factor_optional' => 'Optional (Users can enable or disable)', 'two_factor_required' => 'Required for all users', 'two_factor_disabled' => 'Disabled', 'two_factor_enter_code' => 'Enter Two-Factor Code', 'two_factor_config_complete' => 'Submit Code', - 'two_factor_enabled_edit_not_allowed' => 'Your administrator does not permit you to edit this setting.', 'two_factor_enrollment_text' => "Two factor authentication is required, however your device has not been enrolled yet. Open your Google Authenticator app and scan the QR code below to enroll your device. Once you've enrolled your device, enter the code below", - 'require_accept_signature' => 'Require Signature', - 'require_accept_signature_help_text' => 'Enabling this feature will require users to physically sign off on accepting an asset.', 'left' => 'left', 'right' => 'right', 'top' => 'top', diff --git a/resources/macros/macros.php b/resources/macros/macros.php index 7bec721d56b9..26db2dad9496 100644 --- a/resources/macros/macros.php +++ b/resources/macros/macros.php @@ -483,7 +483,7 @@ ); - $select = ''; foreach ($formats as $format => $label) { $select .= ' '."\n"; } diff --git a/resources/views/account/profile.blade.php b/resources/views/account/profile.blade.php index 06e66b3d3bb2..79753e0007b8 100755 --- a/resources/views/account/profile.blade.php +++ b/resources/views/account/profile.blade.php @@ -104,29 +104,19 @@ @if (\App\Models\Setting::getSettings()->two_factor_enabled=='1') -
- @can('self.two_factor') -
- @endif diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index b64937094c4d..8d21e14c3c0c 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -320,23 +320,7 @@ class="form-control" @if (\App\Models\Setting::getSettings()->two_factor_enabled!='') - @if (\App\Models\Setting::getSettings()->two_factor_enabled=='1') -
-
- {{ Form::label('two_factor_optin', trans('admin/settings/general.two_factor')) }} -
-
- {{ Form::checkbox('two_factor_optin', '1', Input::old('two_factor_optin', $user->two_factor_optin),array('class' => 'minimal')) }} - {{ trans('admin/settings/general.two_factor_enabled_text') }} - -

{{ trans('admin/users/general.two_factor_admin_optin_help') }}

-
-
- @endif - - - - +
{{ trans('admin/settings/general.two_factor_reset') }}