mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-19 19:01:58 +00:00
remove "twoFactorAuthEnabled" from preferences. Kill switches for all code that references them (easier for refactor)
This commit is contained in:
@@ -88,7 +88,7 @@ class PreferenceController extends Controller
|
|||||||
$available = [
|
$available = [
|
||||||
'language', 'customFiscalYear', 'fiscalYearStart', 'currencyPreference',
|
'language', 'customFiscalYear', 'fiscalYearStart', 'currencyPreference',
|
||||||
'transaction_journal_optional_fields', 'frontPageAccounts', 'viewRange',
|
'transaction_journal_optional_fields', 'frontPageAccounts', 'viewRange',
|
||||||
'listPageSize, twoFactorAuthEnabled',
|
'listPageSize',
|
||||||
];
|
];
|
||||||
|
|
||||||
$preferences = new Collection;
|
$preferences = new Collection;
|
||||||
@@ -166,7 +166,6 @@ class PreferenceController extends Controller
|
|||||||
$newValue = (int)$data['data'];
|
$newValue = (int)$data['data'];
|
||||||
break;
|
break;
|
||||||
case 'customFiscalYear':
|
case 'customFiscalYear':
|
||||||
case 'twoFactorAuthEnabled':
|
|
||||||
$newValue = 1 === (int)$data['data'];
|
$newValue = 1 === (int)$data['data'];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -125,6 +125,7 @@ class UserController extends Controller
|
|||||||
$users = $this->repository->all();
|
$users = $this->repository->all();
|
||||||
|
|
||||||
// add meta stuff.
|
// add meta stuff.
|
||||||
|
die('the 2FA references here should be refactored.');
|
||||||
$users->each(
|
$users->each(
|
||||||
function (User $user) {
|
function (User $user) {
|
||||||
$list = ['twoFactorAuthEnabled', 'twoFactorAuthSecret'];
|
$list = ['twoFactorAuthEnabled', 'twoFactorAuthSecret'];
|
||||||
|
@@ -47,6 +47,7 @@ class TwoFactorController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
|
die('this auth controller must be refactored.');
|
||||||
$user = auth()->user();
|
$user = auth()->user();
|
||||||
|
|
||||||
// to make sure the validator in the next step gets the secret, we push it in session
|
// to make sure the validator in the next step gets the secret, we push it in session
|
||||||
|
@@ -218,6 +218,7 @@ class ProfileController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function deleteCode()
|
public function deleteCode()
|
||||||
{
|
{
|
||||||
|
die('this method is deprecated.');
|
||||||
app('preferences')->delete('twoFactorAuthEnabled');
|
app('preferences')->delete('twoFactorAuthEnabled');
|
||||||
app('preferences')->delete('twoFactorAuthSecret');
|
app('preferences')->delete('twoFactorAuthSecret');
|
||||||
session()->flash('success', (string)trans('firefly.pref_two_factor_auth_disabled'));
|
session()->flash('success', (string)trans('firefly.pref_two_factor_auth_disabled'));
|
||||||
@@ -233,6 +234,7 @@ class ProfileController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function enable2FA()
|
public function enable2FA()
|
||||||
{
|
{
|
||||||
|
die('this method is deprecated.');
|
||||||
$hasSecret = (null !== app('preferences')->get('twoFactorAuthSecret'));
|
$hasSecret = (null !== app('preferences')->get('twoFactorAuthSecret'));
|
||||||
|
|
||||||
// if we don't have a valid secret yet, redirect to the code page to get one.
|
// if we don't have a valid secret yet, redirect to the code page to get one.
|
||||||
@@ -255,6 +257,7 @@ class ProfileController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
die('remove or refactor references to 2FA before continuing.');
|
||||||
$loginProvider = config('firefly.login_provider');
|
$loginProvider = config('firefly.login_provider');
|
||||||
// check if client token thing exists (default one)
|
// check if client token thing exists (default one)
|
||||||
$count = DB::table('oauth_clients')
|
$count = DB::table('oauth_clients')
|
||||||
@@ -388,6 +391,7 @@ class ProfileController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function postCode(TokenFormRequest $request)
|
public function postCode(TokenFormRequest $request)
|
||||||
{
|
{
|
||||||
|
die('this method is deprecated');
|
||||||
app('preferences')->set('twoFactorAuthEnabled', 1);
|
app('preferences')->set('twoFactorAuthEnabled', 1);
|
||||||
app('preferences')->set('twoFactorAuthSecret', session()->get('two-factor-secret'));
|
app('preferences')->set('twoFactorAuthSecret', session()->get('two-factor-secret'));
|
||||||
|
|
||||||
|
@@ -66,6 +66,7 @@ class AuthenticateTwoFactor
|
|||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next)
|
public function handle($request, Closure $next)
|
||||||
{
|
{
|
||||||
|
die('this middleware is deprecated.');
|
||||||
/** @noinspection PhpUndefinedMethodInspection */
|
/** @noinspection PhpUndefinedMethodInspection */
|
||||||
if ($this->auth->guest()) {
|
if ($this->auth->guest()) {
|
||||||
return response()->redirectTo(route('login'));
|
return response()->redirectTo(route('login'));
|
||||||
|
@@ -43,6 +43,7 @@ class RedirectIfTwoFactorAuthenticated
|
|||||||
*/
|
*/
|
||||||
public function handle($request, Closure $next, $guard = null)
|
public function handle($request, Closure $next, $guard = null)
|
||||||
{
|
{
|
||||||
|
die('this middleware is deprecated.');
|
||||||
if (Auth::guard($guard)->check()) {
|
if (Auth::guard($guard)->check()) {
|
||||||
$is2faEnabled = app('preferences')->get('twoFactorAuthEnabled', false)->data;
|
$is2faEnabled = app('preferences')->get('twoFactorAuthEnabled', false)->data;
|
||||||
$has2faSecret = null !== app('preferences')->get('twoFactorAuthSecret');
|
$has2faSecret = null !== app('preferences')->get('twoFactorAuthSecret');
|
||||||
|
@@ -245,6 +245,7 @@ class UserRepository implements UserRepositoryInterface
|
|||||||
$return = [];
|
$return = [];
|
||||||
|
|
||||||
// two factor:
|
// two factor:
|
||||||
|
die('this method references 2FA and must be refactored.');
|
||||||
$is2faEnabled = app('preferences')->getForUser($user, 'twoFactorAuthEnabled', false)->data;
|
$is2faEnabled = app('preferences')->getForUser($user, 'twoFactorAuthEnabled', false)->data;
|
||||||
$has2faSecret = null !== app('preferences')->getForUser($user, 'twoFactorAuthSecret');
|
$has2faSecret = null !== app('preferences')->getForUser($user, 'twoFactorAuthSecret');
|
||||||
$return['has_2fa'] = false;
|
$return['has_2fa'] = false;
|
||||||
|
@@ -102,6 +102,7 @@ class UserControllerTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testIndex(): void
|
public function testIndex(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$repository = $this->mock(UserRepositoryInterface::class);
|
$repository = $this->mock(UserRepositoryInterface::class);
|
||||||
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(3)->andReturn(true);
|
$repository->shouldReceive('hasRole')->withArgs([Mockery::any(), 'owner'])->times(3)->andReturn(true);
|
||||||
$user = $this->user();
|
$user = $this->user();
|
||||||
|
@@ -47,6 +47,7 @@ class TwoFactorControllerTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testIndex(): void
|
public function testIndex(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->mockDefaultConfiguration();
|
$this->mockDefaultConfiguration();
|
||||||
$this->be($this->user());
|
$this->be($this->user());
|
||||||
|
|
||||||
@@ -72,6 +73,7 @@ class TwoFactorControllerTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testIndexNo2FA(): void
|
public function testIndexNo2FA(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->be($this->user());
|
$this->be($this->user());
|
||||||
|
|
||||||
$falsePreference = new Preference;
|
$falsePreference = new Preference;
|
||||||
@@ -94,6 +96,7 @@ class TwoFactorControllerTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testIndexNoSecret(): void
|
public function testIndexNoSecret(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->be($this->user());
|
$this->be($this->user());
|
||||||
|
|
||||||
$truePref = new Preference;
|
$truePref = new Preference;
|
||||||
@@ -117,6 +120,7 @@ class TwoFactorControllerTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testLostTwoFactor(): void
|
public function testLostTwoFactor(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->be($this->user());
|
$this->be($this->user());
|
||||||
|
|
||||||
$truePreference = new Preference;
|
$truePreference = new Preference;
|
||||||
|
@@ -170,6 +170,7 @@ class ProfileControllerTest extends TestCase
|
|||||||
|
|
||||||
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
$userRepos->shouldReceive('hasRole')->withArgs([Mockery::any(), 'demo'])->atLeast()->once()->andReturn(false);
|
||||||
|
|
||||||
|
die('the references in this test to 2FA preferences must be refactored.');
|
||||||
Preferences::shouldReceive('delete')->withArgs(['twoFactorAuthEnabled'])->atLeast()->once();
|
Preferences::shouldReceive('delete')->withArgs(['twoFactorAuthEnabled'])->atLeast()->once();
|
||||||
Preferences::shouldReceive('delete')->withArgs(['twoFactorAuthSecret'])->atLeast()->once();
|
Preferences::shouldReceive('delete')->withArgs(['twoFactorAuthSecret'])->atLeast()->once();
|
||||||
|
|
||||||
@@ -212,6 +213,7 @@ class ProfileControllerTest extends TestCase
|
|||||||
Preferences::shouldReceive('set')->once()->withArgs(['twoFactorAuthEnabled', 1]);
|
Preferences::shouldReceive('set')->once()->withArgs(['twoFactorAuthEnabled', 1]);
|
||||||
//Preferences::shouldReceive('lastActivity')->once();
|
//Preferences::shouldReceive('lastActivity')->once();
|
||||||
|
|
||||||
|
die('the references in this test to 2FA preferences must be refactored.');
|
||||||
$pref = new Preference;
|
$pref = new Preference;
|
||||||
$pref->data = false;
|
$pref->data = false;
|
||||||
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthEnabled', false])->atLeast()->once()->andReturn($pref);
|
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthEnabled', false])->atLeast()->once()->andReturn($pref);
|
||||||
@@ -220,6 +222,7 @@ class ProfileControllerTest extends TestCase
|
|||||||
$pref->data = 'super-secret';
|
$pref->data = 'super-secret';
|
||||||
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthSecret'])->atLeast()->once()->andReturn($pref);
|
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthSecret'])->atLeast()->once()->andReturn($pref);
|
||||||
|
|
||||||
|
|
||||||
$view = new Preference;
|
$view = new Preference;
|
||||||
$view->data = '1M';
|
$view->data = '1M';
|
||||||
Preferences::shouldReceive('get')->withArgs(['viewRange', Mockery::any()])->andReturn($view)->atLeast()->once();
|
Preferences::shouldReceive('get')->withArgs(['viewRange', Mockery::any()])->andReturn($view)->atLeast()->once();
|
||||||
@@ -446,6 +449,7 @@ class ProfileControllerTest extends TestCase
|
|||||||
$this->withoutMiddleware();
|
$this->withoutMiddleware();
|
||||||
$this->session(['two-factor-secret' => $secret]);
|
$this->session(['two-factor-secret' => $secret]);
|
||||||
|
|
||||||
|
die('the references in this test to 2FA preferences must be refactored.');
|
||||||
Preferences::shouldReceive('set')->withArgs(['twoFactorAuthEnabled', 1])->once();
|
Preferences::shouldReceive('set')->withArgs(['twoFactorAuthEnabled', 1])->once();
|
||||||
Preferences::shouldReceive('set')->withArgs(['twoFactorAuthSecret', $secret])->once();
|
Preferences::shouldReceive('set')->withArgs(['twoFactorAuthSecret', $secret])->once();
|
||||||
Preferences::shouldReceive('mark')->once();
|
Preferences::shouldReceive('mark')->once();
|
||||||
|
@@ -451,6 +451,7 @@ abstract class TestCase extends BaseTestCase
|
|||||||
$list = new Preference;
|
$list = new Preference;
|
||||||
$list->data = 50;
|
$list->data = 50;
|
||||||
|
|
||||||
|
die('the references in this test to 2FA preferences must be refactored.');
|
||||||
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthEnabled', false])->andReturn($false);
|
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthEnabled', false])->andReturn($false);
|
||||||
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthSecret'])->andReturnNull();
|
Preferences::shouldReceive('get')->withArgs(['twoFactorAuthSecret'])->andReturnNull();
|
||||||
Preferences::shouldReceive('get')->withArgs(['viewRange', Mockery::any()])->andReturn($view);
|
Preferences::shouldReceive('get')->withArgs(['viewRange', Mockery::any()])->andReturn($view);
|
||||||
|
@@ -73,6 +73,7 @@ class AuthenticateTwoFactorTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testMiddlewareNoTwoFA(): void
|
public function testMiddlewareNoTwoFA(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->withoutExceptionHandling();
|
$this->withoutExceptionHandling();
|
||||||
$user = $this->user();
|
$user = $this->user();
|
||||||
$user->blocked = 0;
|
$user->blocked = 0;
|
||||||
@@ -104,6 +105,7 @@ class AuthenticateTwoFactorTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testMiddlewareTwoFAAuthed(): void
|
public function testMiddlewareTwoFAAuthed(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->withoutExceptionHandling();
|
$this->withoutExceptionHandling();
|
||||||
$user = $this->user();
|
$user = $this->user();
|
||||||
$user->blocked = 0;
|
$user->blocked = 0;
|
||||||
@@ -137,6 +139,7 @@ class AuthenticateTwoFactorTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testMiddlewareTwoFANoSecret(): void
|
public function testMiddlewareTwoFANoSecret(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->withoutExceptionHandling();
|
$this->withoutExceptionHandling();
|
||||||
$user = $this->user();
|
$user = $this->user();
|
||||||
$user->blocked = 0;
|
$user->blocked = 0;
|
||||||
@@ -168,6 +171,7 @@ class AuthenticateTwoFactorTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testMiddlewareTwoFASecret(): void
|
public function testMiddlewareTwoFASecret(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
$this->withoutExceptionHandling();
|
$this->withoutExceptionHandling();
|
||||||
$user = $this->user();
|
$user = $this->user();
|
||||||
$user->blocked = 0;
|
$user->blocked = 0;
|
||||||
|
@@ -64,6 +64,7 @@ class RedirectIf2FAAuthenticatedTest extends TestCase
|
|||||||
*/
|
*/
|
||||||
public function testMiddlewareAuthenticated(): void
|
public function testMiddlewareAuthenticated(): void
|
||||||
{
|
{
|
||||||
|
die('this test references old 2FA code.');
|
||||||
// pref for has 2fa is true
|
// pref for has 2fa is true
|
||||||
$preference = new Preference;
|
$preference = new Preference;
|
||||||
$preference->data = true;
|
$preference->data = true;
|
||||||
|
Reference in New Issue
Block a user