use Illuminate\Contracts\Auth\Guard; class MyController { protected $guard; public function __construct(Guard $guard) { $this->guard = $guard; } public function login(Request $request) { $credentials = $request->only('email', 'password'); if ($this->guard->attempt($credentials)) { return redirect()->intended('dashboard'); } return back()->withErrors([ 'email' => 'The provided credentials do not match our records.', ]); } public function logout() { $this->guard->logout(); return redirect('/'); } public function dashboard() { $user = $this->guard->user(); return view('dashboard', ['user' => $user]); } }In these examples, we're using the `attempt`, `logout`, and `user` methods defined in the `Guard` interface to authenticate a user, log them out, and get the currently authenticated user, respectively. The `Illuminate\Contracts\Auth` package library provides interfaces and contracts for Laravel's authentication system, allowing developers to customize and extend the system as needed.