Issues (25)

app/Http/Controllers/Auth/LoginController.php (2 issues)

Labels
1
<?php
2
3
namespace App\Http\Controllers\Auth;
4
5
use Illuminate\Support\Facades\Auth;
6
use App\Http\Controllers\Controller;
7
use Illuminate\Foundation\Auth\AuthenticatesUsers;
8
use Illuminate\Http\Request;
9
10
class LoginController extends Controller
11
{
12
    /*
13
    |--------------------------------------------------------------------------
14
    | Login Controller
15
    |--------------------------------------------------------------------------
16
    |
17
    | This controller handles authenticating users for the application and
18
    | redirecting them to your home screen. The controller uses a trait
19
    | to conveniently provide its functionality to your applications.
20
    |
21
    */
22
23
    use AuthenticatesUsers;
0 ignored issues
show
The trait Illuminate\Foundation\Auth\AuthenticatesUsers requires some properties which are not provided by App\Http\Controllers\Auth\LoginController: $maxAttempts, $decayMinutes
Loading history...
24
25
    /**
26
     * Where to redirect users after login.
27
     *
28
     * @var string
29
     */
30
    protected $redirectTo = '/host/dashboard';
31
32
    /**
33
     * Create a new controller instance.
34
     *
35
     * @return void
36
     */
37
    public function __construct()
38
    {
39
        $this->middleware('guest')->except('logout');
40
    }
41
42
    protected function credentials(Request $request) 
43
    {
44
        $field = filter_var($request->get($this->username()), FILTER_VALIDATE_EMAIL) ? $this->username() : 'username';
45
46
        return [
47
            $field     => $request->get($this->username()),
48
            'password' => $request->password
49
        ];
50
    }
51
52
    public function logout(Request $request)
53
    {
54
        $user = Auth::user();
55
        $this->guard()->logout();
56
        $request->session()->invalidate();
57
        return redirect()->route('login')->with('logoutMessage', 'You have been successfully logged out ' . $user->username);
0 ignored issues
show
Accessing username on the interface Illuminate\Contracts\Auth\Authenticatable suggest that you code against a concrete implementation. How about adding an instanceof check?
Loading history...
58
    }
59
60
    public function showLoginForm()
61
    {
62
        return view('quiz_host.auth.login');
63
    }
64
}
65