Конечная точка входа возвращает успешный ответ, поэтому проблема связана с аутентификацией_user(). Я не уверен, нужно ли мне проверять токен cookie иначе, чем я, но он возвращается без аутентификации при запуске метода аутентификации_user(). Правильно ли я JWT?
AuthController.php
Код: Выделить всё
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if (! $token = auth()->attempt($credentials)) {
return response()->json([
"message" => "Error logging in: Invalid credentials."
], 401);
}
// Set the JWT token in an HttpOnly cookie
return response()->json([
"message" => "Login successful!"
], 200)->cookie('authToken', $token, auth()->factory()->getTTL() * 60, '/', null, true, true, false, 'Strict');
}
public function authenticate_user()
{
$user = auth()->user();
if(!$user) {
return response()->json([
"message" => "User not authenticated."
], 401);
}
$roles = $user->getRoleNames();
$permissions = $user->getAllPermissions();
return response()->json([
'isAuthenticated' => true,
"user" => $user,
'roles' => $roles,
'permissions' => $permissions->pluck('name')
], 200);
}
Код: Выделить всё
/**
* Not Authenicated Routes
*/
Route::post('/login', [AuthController::class, 'login'])->name("login");
/**
* Authenicated routes
*/
Route::middleware('api')->group(function () {
Route::get('/authenticate-user', [AuthController::class, 'authenticate_user']);
});
Подробнее здесь: https://stackoverflow.com/questions/791 ... henticated