Conditions | 6 |
Paths | 6 |
Total Lines | 26 |
Lines | 0 |
Ratio | 0 % |
Tests | 15 |
CRAP Score | 6 |
Changes | 0 |
1 | <?php |
||
21 | 8 | public function handle($request, Closure $next) |
|
22 | { |
||
23 | /** @var Authenticator $authenticator */ |
||
24 | 8 | $authenticator = app(Authenticator::class)->boot($request); |
|
25 | 8 | $cookieResult = $authenticator->hasValidCookieToken(); |
|
26 | 8 | $authResult = $authenticator->isAuthenticated(); |
|
27 | |||
28 | /** @var Response $response */ |
||
29 | 8 | $response = $next($request); |
|
30 | |||
31 | 8 | if (false === $cookieResult && true === $authResult) { |
|
32 | 4 | $cookieName = config('google2fa.cookie_name') ?? 'google2fa_token'; |
|
33 | 4 | $lifetime = (int)(config('google2fa.cookie_lifetime') ?? 8035200); |
|
34 | 4 | $lifetime = $lifetime > 8035200 ? 8035200 : $lifetime; |
|
35 | 4 | $token = $authenticator->sessionGet(Constants::SESSION_TOKEN); |
|
36 | 4 | $response->withCookie(cookie()->make($cookieName, $token, $lifetime / 60)); |
|
37 | } |
||
38 | |||
39 | 8 | if (true === $cookieResult || true === $authResult) { |
|
40 | 4 | return $response; |
|
41 | } |
||
42 | |||
43 | 7 | $authenticator->cleanupTokens(); |
|
44 | |||
45 | 7 | return $authenticator->makeRequestOneTimePasswordResponse(); |
|
46 | } |
||
47 | } |
||
48 |