Вызов неопределенного метода Illuminate \ Auth \ TokenGuard :: попытки () в laravel - PullRequest
1 голос
/ 26 марта 2020

Я использую Laravel 6.x и паспорт. Я использовал api_token в App \ User до установки этого пакета. Теперь я хочу аутентифицировать пользователей с помощью пакета паспорта, но у меня возникает эта ошибка,

Вызов неопределенного метода Illuminate \ Auth \ TokenGuard :: попытки ()

Это мой гаурд:

  'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'passport',
        'provider' => 'users',
    ],
],

Это мой authController:

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class AuthController extends Controller
{
    private $successStatus=200;
    public function login(){
        if(Auth::attempt(['email' => request('email'), 'password' => request('password')])){
            $user = Auth::user();
            $success['token'] =  $user->createToken('MyApp')-> accessToken;
            return response()->json(['success' => $success], $this-> successStatus);
        }
        else{
            return response()->json(['error'=>'Unauthorised'], 401);
        }
    }

}

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

Я изменил свой контроллер на это, и проблема была решена

   <?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class AuthController extends Controller
{
    public function login(Request $request){



        $user = User::whereEmail($request->email)->first();

        if($user && Hash::check($request->password, $user->password)){
            $success['token'] =  $user->createToken('tp_@1')-> accessToken;
            return response()->json(['success' => $success],200);
        }
        else{
            return response()->json(['status'=>'invalid username or pass !'], 401);
        }
    }

}
0 голосов
/ 26 марта 2020

У вас может быть следующая конфигурация:

измените auth.php

passport на token

  'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...