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
No EOL
955 B
PHP
40 lines
No EOL
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);
|
|
}
|
|
} |