Completed
Push — master ( 14b838...035579 )
by Marcel
8s
created

Reauthenticate::invalidated()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Mpociot\Reauthenticate\Middleware;
4
5
use Carbon\Carbon;
6
use Closure;
7
8
class Reauthenticate
9
{
10
    /**
11
     * Number of minutes a successful Reauthentication is valid.
12
     *
13
     * @var int
14
     */
15
    protected $reauthTime = 30;
16
17
    /**
18
     * Validate a reauthenticated Session data.
19
     *
20
     * @param \Illuminate\Session\Store $session
21
     *
22
     * @return bool
23
     */
24
    private function validAuth($session)
25
    {
26
        $validationTime = Carbon::createFromTimestamp($session->get('reauthenticate.life', 0));
27
28
        return $session->get('reauthenticate.authenticated', false) &&
29
            ($validationTime->diffInMinutes() <= $this->reauthTime);
30
    }
31
32
    /**
33
     * Handle an incoming request.
34
     *
35
     * @param \Illuminate\Http\Request $request
36
     * @param \Closure                 $next
37
     *
38
     * @return mixed
39
     */
40
    public function handle($request, Closure $next)
41
    {
42
        if (!$this->validAuth($request->session())) {
43
            $request->session()->set('url.intended', $request->url());
44
45
            return $this->invalidated($request);
46
        }
47
48
        return $next($request);
49
    }
50
51
    /**
52
     * Handle invalidated auth.
53
     *
54
     * @param \Illuminate\Http\Request $request
55
     *
56
     * @return mixed
57
     */
58
    protected function invalidated($request)
0 ignored issues
show
Unused Code introduced by
The parameter $request is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
59
    {
60
        return redirect('auth/reauthenticate');
61
    }
62
}
63