Нужна помощь, как получить токен JWT после входа в систему без базы данных. Я пытаюсь использовать tymondesigns / jwt-auth, но при этом возникает ошибка «Вызов функции-члена send () on null».
Вот мой код в AuthController (функция построения и входа в систему)
public function __construct()
{
$this->middleware('auth:api', ['except' => ['login']]);
}
public function login()
{
$credentials = request(['email', 'password']);
if (! $token = auth()->attempt($credentials)) {
return response()->json(['error' => 'Unauthorized'], 401);
}
return $this->respondWithToken($token);
}
Я использую пользовательское промежуточное ПО:
namespace App\Http\Middleware;
use Closure;
use Session;
use Illuminate\Http\Request;
class CustomMiddleware
{
protected $loginPath = 'login';
public function handle($request, Closure $next)
{
if (!empty(session('login')))
{
$logged_in = $request->session()->put('logged_in');
if (!$logged_in)
{
return redirect()->guest('login')->with('flag','1');
}
return $next($request);
}
}
А вот мои маршруты в API.php
Route::group([
'middleware' => 'custom',
'prefix' => 'auth'
], function ($router) {
Route::post('login', 'AuthController@login');
Route::post('logout', 'AuthController@logout');
Route::post('refresh', 'AuthController@refresh');
Route::post('me', 'AuthController@me');
});
в kernel.php я положил:
'custom' => \App\Http\Middleware\CustomMiddleware::class,