Fix enable/disable tfa
This commit is contained in:
@@ -173,17 +173,17 @@ return [
|
||||
|
||||
'aliases' => [
|
||||
|
||||
'App' => 'Illuminate\Support\Facades\App',
|
||||
'Auth' => 'Illuminate\Support\Facades\Auth',
|
||||
'Form' => 'Illuminate\Support\Facades\Form',
|
||||
'Input' => 'Illuminate\Support\Facades\Input',
|
||||
'Redirect' => 'Illuminate\Support\Facades\Redirect',
|
||||
'Request' => 'Illuminate\Support\Facades\Request',
|
||||
'Response' => 'Illuminate\Support\Facades\Response',
|
||||
'Route' => 'Illuminate\Support\Facades\Route',
|
||||
'Session' => 'Illuminate\Support\Facades\Session',
|
||||
'Setting' => 'CachetHQ\Cachet\Models\Setting',
|
||||
'Str' => 'Illuminate\Support\Str',
|
||||
'App' => 'Illuminate\Support\Facades\App',
|
||||
'Auth' => 'Illuminate\Support\Facades\Auth',
|
||||
'Form' => 'Illuminate\Support\Facades\Form',
|
||||
'Input' => 'Illuminate\Support\Facades\Input',
|
||||
'Redirect' => 'Illuminate\Support\Facades\Redirect',
|
||||
'Request' => 'Illuminate\Support\Facades\Request',
|
||||
'Response' => 'Illuminate\Support\Facades\Response',
|
||||
'Route' => 'Illuminate\Support\Facades\Route',
|
||||
'Session' => 'Illuminate\Support\Facades\Session',
|
||||
'Setting' => 'CachetHQ\Cachet\Models\Setting',
|
||||
'Str' => 'Illuminate\Support\Str',
|
||||
|
||||
],
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<div class="user-grid">
|
||||
@foreach($teamMembers as $member)
|
||||
<div class="user col-sm-3 col-xs-6">
|
||||
<a href="@if(Auth::user()->id == $member->id) {{ url('dashboard/user') }} @else /dashboard/team/{{ $member->id }} @endif">
|
||||
<a href="@if(Auth::user()->id == $member->id) {{ url('dashboard/user') }} @else /dashboard/team/{{ $member->id }} @endif">
|
||||
<img src="{{ $member->gravatar }}" />
|
||||
</a>
|
||||
<div class="name">{{ $member->username }}</div>
|
||||
|
||||
@@ -46,11 +46,11 @@
|
||||
<div class="form-group">
|
||||
<label class="checkbox-inline">
|
||||
<input type="hidden" name="google2fa" value="0" />
|
||||
<input type='checkbox' name="google2fa" value="1" {{ Auth::user()->hasEnabled2FA ? "checked" : "" }} />
|
||||
<input type='checkbox' name="google2fa" value="1" {{ Auth::user()->hasTwoFactor ? "checked" : "" }} />
|
||||
{{ trans('forms.setup.enable_google2fa') }}
|
||||
</label>
|
||||
</div>
|
||||
@if(Auth::user()->hasEnabled2FA)
|
||||
@if(Auth::user()->hasTwoFactor)
|
||||
<div class="form-group">
|
||||
<?php
|
||||
$google2fa_url = PragmaRX\Google2FA\Vendor\Laravel\Facade::getQRCodeGoogleUrl(
|
||||
|
||||
@@ -40,7 +40,7 @@ class AuthController extends Controller
|
||||
// Log the user in for one request.
|
||||
Auth::once($loginData);
|
||||
// Do we have Two Factor Auth enabled?
|
||||
if (Auth::user()->hasEnabled2FA) {
|
||||
if (Auth::user()->hasTwoFactor) {
|
||||
// Temporarily store the user.
|
||||
Session::put('2fa_id', Auth::user()->id);
|
||||
|
||||
|
||||
@@ -33,11 +33,19 @@ class DashUserController extends Controller
|
||||
{
|
||||
$items = Binput::all();
|
||||
|
||||
$passwordChange = array_get($items, 'password');
|
||||
$enable2FA = (bool) array_pull($items, 'google2fa');
|
||||
|
||||
// Let's enable/disable auth
|
||||
$authSecret = $enable2FA && ! Auth::user()->hasEnabled2FA ? Google2FA::generateSecretKey() : '';
|
||||
$items['google_2fa_secret'] = $authSecret;
|
||||
if ($enable2FA && ! Auth::user()->hasTwoFactor) {
|
||||
$items['google_2fa_secret'] = Google2FA::generateSecretKey();
|
||||
} elseif (! $enable2FA) {
|
||||
$items['google_2fa_secret'] = '';
|
||||
}
|
||||
|
||||
if (trim($passwordChange) === '') {
|
||||
unset($items['password']);
|
||||
}
|
||||
|
||||
$updated = Auth::user()->update($items);
|
||||
|
||||
|
||||
@@ -127,10 +127,10 @@ class SetupController extends Controller
|
||||
$userDetails = array_pull($postData, 'user');
|
||||
|
||||
$user = User::create([
|
||||
'username' => $userDetails['username'],
|
||||
'email' => $userDetails['email'],
|
||||
'password' => $userDetails['password'],
|
||||
'level' => 1,
|
||||
'username' => $userDetails['username'],
|
||||
'email' => $userDetails['email'],
|
||||
'password' => $userDetails['password'],
|
||||
'level' => 1,
|
||||
]);
|
||||
|
||||
Auth::login($user);
|
||||
|
||||
@@ -139,8 +139,8 @@ class User extends Model implements UserInterface, RemindableInterface
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function getHasEnabled2FAAttribute()
|
||||
public function getHasTwoFactorAttribute()
|
||||
{
|
||||
return (bool) (trim($this->google_2fa_secret) !== '');
|
||||
return trim($this->google_2fa_secret) !== '';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user