Я пытаюсь интегрировать существующий проект laravel в angular как отдельные папки, я не буду angular запускать как часть внешнего интерфейса, а остальная часть проекта будет laravel проблемой когда я пытаюсь отправить данные из laravel в angular, ответ Auth :: user возвращается в логин, когда я использую промежуточное программное обеспечение auth, и когда я использую web middelware, возвращается нулевое значение, как я отправляю ответ
try {
$user=Auth::user();
return response([
'employ' =>$user,
],200)->header('Authentication', $user=Auth::user()->api_token);
} catch (ModelNotFoundException $e) {
return $e;
}
я использовал Cors
<?php
namespace App\Http\Middleware;
use Closure;
class Cors
public function handle($request, Closure $next)
{
$trusted_domains = ["http://localhost:4200", "http://127.0.0.1:4200", "http://localhost:3000", "http://127.0.0.1:3000"];
if (isset($request->server()['HTTP_ORIGIN'])) {
$origin = $request->server()['HTTP_ORIGIN'];
if (in_array($origin, $trusted_domains)) {
header('Access-Control-Allow-Origin: ' . $origin);
header('Access-Control-Allow-Headers: Origin, Content-Type, Authorization, X-Auth-Token,x-xsrf-token');
header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE');
}
}
return $next($request);
}
}
middelware, который я создал, но вернул неавторизованный
<?php
namespace App\Http\Middleware;
use Auth;
use Closure;
class Authorize
{
public function handle($request, Closure $next, ... $roles)
{
if (!Auth::check()) // I included this check because you have it, but it really should be part of your 'auth' middleware, most likely added as part of a route group.
return redirect('login');
$user = Auth::user();
foreach ($roles as $role) {
if ($user->authorizeRoles($role)) return $next($request);
}
return redirect('login');
}
}