Files
hado/core/app/Http/Middleware/AuthenticateSource.php
2026-09-04 06:58:03 -03:00

29 lines
795 B
PHP

<?php
namespace App\Http\Middleware;
use App\Models\Source;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class AuthenticateSource
{
public function handle(Request $request, Closure $next): Response
{
$token = $request->bearerToken();
if ($token === null || $token === '') {
return response()->json(['message' => 'Нужен Bearer-токен источника'], 401);
}
$source = Source::where('token_hash', hash('sha256', $token))->first();
if ($source === null) {
return response()->json(['message' => 'Неизвестный токен источника'], 401);
}
$request->attributes->set('source', $source);
return $next($request);
}
}