Laravel: не удается войти в систему после отзыва токена в API Testst

После того, как я отзову токен пользователя с помощью функции:

public function logout(Request $r)  
{
    $r->user()->token()->revoke();

    return response()->json([
        'message' => 'Successfully logged out'
    ], 200);
}

Я не могу войти с помощью:

$user=User::where('email',$r->email)->first();
    if ($user)
    {
            $credentials = $r->only('email', 'password');

            if (!Auth::attempt($credentials)){
                return response()->json(['message' => 'Unauthorized'], 401);
            }

            $user = $r->user();

            $tokenResult = $user->createToken('Personal Access Token');
            $token = $tokenResult->token;

            $token->save();

            $data = [
                'access_token' => $tokenResult->accessToken,
                'token_type' => 'Bearer',
                'expires_at' => Carbon::parse(
                        $tokenResult->token->expires_at
                )->toDateTimeString()
            ];



        return response()->json(['data'=>$data,'message'=>'Successfully logged','status'=>'success'], 200);

Потому что я получаю «Метод Illuminate\Auth\RequestGuard::attempt не существует». в ответ

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
127
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это как-то связано с тем, как вы назвали Auth. Проверьте, как вы импортировали его (если у вас есть) ниже вашего пространства имен. Вы можете использовать use \Auth; или просто не импортировать его и использовать косую черту перед ним, и все должно работать нормально.

На тинкере я могу вызывать Auth::attempt() и \Auth::attempt() без ошибок.

Итак, для быстрого исправления попробуйте поставить \ перед Auth.

Спасибо за ваш ответ, но это не помогло. Эта ситуация возникает только тогда, когда я запускаю тест, в котором я вхожу в систему-> выход из системы-> снова вхожу в систему. Когда я проверяю вход вручную через Postman, этого не происходит.

Mateusz Garbarczyk 06.02.2019 11:11

Другие вопросы по теме