Размер файла: 742B
- <?php
-
- namespace App\Http\Middleware;
-
- use App\Models\User;
- use Closure;
- use Illuminate\Http\Request;
-
- class CheckToken
- {
- /**
- * Handle an incoming request.
- *
- * @param Request $request
- * @param Closure $next
- *
- * @return mixed
- */
- public function handle(Request $request, Closure $next)
- {
- $token = $request->input('token');
-
- if (! $token) {
- abort(400, 'Api token missing');
- }
-
- if (! $user = getUserByToken($token)) {
- abort(401, 'Unauthorized');
- }
-
- if ($user->level === User::BANNED) {
- abort(403, 'User banned');
- }
-
- $request->attributes->set('user', $user);
-
- return $next($request);
- }
- }