mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-01 01:36:00 -04:00
1af5bbf3f7
Also continued a bit on the MFA verification system. Moved some MFA routes to public space using updated login service to get the current user that is either logged in or last attempted login (With correct creds).
40 lines
955 B
PHP
40 lines
955 B
PHP
<?php
|
|
|
|
namespace BookStack\Exceptions;
|
|
|
|
use BookStack\Auth\Access\LoginService;
|
|
use BookStack\Auth\User;
|
|
use Illuminate\Contracts\Support\Responsable;
|
|
|
|
class StoppedAuthenticationException extends \Exception implements Responsable
|
|
{
|
|
|
|
protected $user;
|
|
protected $loginService;
|
|
|
|
/**
|
|
* StoppedAuthenticationException constructor.
|
|
*/
|
|
public function __construct(User $user, LoginService $loginService)
|
|
{
|
|
$this->user = $user;
|
|
$this->loginService = $loginService;
|
|
parent::__construct();
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function toResponse($request)
|
|
{
|
|
$redirect = '/login';
|
|
|
|
if ($this->loginService->awaitingEmailConfirmation($this->user)) {
|
|
$redirect = '/register/confirm/awaiting';
|
|
} else if ($this->loginService->needsMfaVerification($this->user)) {
|
|
$redirect = '/mfa/verify';
|
|
}
|
|
|
|
return redirect($redirect);
|
|
}
|
|
} |