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