Since sessions are invalidated upon logout.
$this->setLastLoginAttemptedForUser($user, $method);
throw new StoppedAuthenticationException($user, $this);
// TODO - Does 'remember' still work? Probably not right now.
-
- // TODO - Need to clear MFA sessions out upon logout
-
- // Old MFA middleware todos:
-
- // TODO - Handle email confirmation handling
- // Left BookStack\Http\Middleware\Authenticate@emailConfirmationErrorResponse in which needs
- // be removed as an example of old behaviour.
}
$this->clearLastLoginAttempted();
namespace Tests\Auth;
+use BookStack\Auth\Access\Mfa\MfaSession;
use BookStack\Auth\Role;
use BookStack\Auth\User;
use BookStack\Entities\Models\Page;
->seePageIs('/login');
}
+ public function test_mfa_session_cleared_on_logout()
+ {
+ $user = $this->getEditor();
+ $mfaSession = $this->app->make(MfaSession::class);
+
+ $mfaSession->markVerifiedForUser($user);;
+ $this->assertTrue($mfaSession->isVerifiedForUser($user));
+
+ $this->asAdmin()->visit('/logout');
+ $this->assertFalse($mfaSession->isVerifiedForUser($user));
+ }
+
public function test_reset_password_flow()
{
Notification::fake();