Вошёл в систему, но не смог получить аутентифицированного пользователяPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вошёл в систему, но не смог получить аутентифицированного пользователя

Сообщение Anonymous »

У меня возникла проблема с проверкой подлинности пользователя. Я вхожу в систему, но получаю ответ h="Пользователь не аутентифицирован".
В моем Api\AuthController у меня есть этот метод для получения пользователя:

Код: Выделить всё

public function login(LoginRequest $request)
{

$data = $request->validated();
$user = User::where('email', $data['email'])->first();

if (!$user || !Hash::check($data['password'], $user->password)) {
return response()->json([
'message' => __('user-controller.incorrect_mail')

], 401);
}

$token = $user->createToken('auth-token')->plainTextToken;
$cookie = cookie('token', $token, 60 * 24); // 1 day

return response()->json([
'user' => new UserResource($user)
])->withCookie($cookie);
}

//get the authenticated user
public function user(Request $request)
{
return new UserResource($request->user());
}
Я пытаюсь получить доступ отсюда:

Код: Выделить всё

public function bookingInitiate(Request $request)
{
$authCont = new AuthController();
$authenticatedUser = $authCont->user($request);

if ($authenticatedUser->resource) {
// User is authenticated
// perform some actions
return $authenticatedUser;
} else {
// User is not authenticated
// do something else
return response()->json(['error' => 'User is not authenticated'], 401);
}
Когда я использую var_dump($authenticatedUser); он говорит «сообщение»: «Попытайтесь прочитать свойство «id» при значении null», но я вошел в систему в своем браузере.
Это мой api.php:

Код: Выделить всё

Route::middleware('auth:sanctum')->group(function () {
//Routes that require authentication go here...
Route::get('/user', [AuthController::class, 'user']);
// Password Update route
Route::get('/validate-token', [AuthController::class, 'validateToken']);
Route::post('/logout', [AuthController::class, 'logout']);
Route::prefix('admin')->group(function () {
Route::apiResource('staffs', UserController::class);
Route::post('update-password', [AuthController::class, 'updatePassword']);
});
//Route::get('/check-auth', [UserController::class, 'isAuthenticated']);
});
Route::post('/booking/initiate', [TempBookingController::class, 'bookingInitiate']);
Функция бронирования должна работать как для аутентифицированных, так и для неаутентифицированных пользователей, поэтому для этого не требуется вход в систему.
*Я не могу добавьте больше тегов, чем просто PHP, есть проблема с SO. Да, я могу войти с текущим кодом. Пожалуйста, не редактируйте эту часть, я отредактирую ее позже, как только смогу комментировать.

Подробнее здесь: https://stackoverflow.com/questions/786 ... cated-user
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»