Zrobiłem middleware, które ma sprawdzać czu user potwierdził swojego maila. Nie wiem gdzie to middleware wywołać. Próbowałem w LoginControllerze, ale nie działa, bo middleware zostaje wywołane przed zalogowaniem się.
<?php
namespace App\Http\Middleware;
use Closure;
use App\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Contracts\Auth\Guard;
class UserMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::check())
{
if(User::where('id', Auth::id())->select('email_token') != "confirmed")
{
Auth::logout();
return redirect()->back()->withErrors('Potwierdź swojego emaila');
}
User::where('id', Auth::id())->update(['last_visit_ip' => '32123122213']);
}
return $next($request);
}
}