方法 Illuminate\Auth\RequestGuard::attempt 在测试 Laravel Passport restful api 时不存在

问题描述

我正在使用 Laravel-8 作为 RESTful api,而且我有 Laravel Passport 身份验证:

public function login(Request $request)
{
    $credentials = [
        'email' => $request->email,'password' => $request->password
    ];

    if (auth()->attempt($credentials)) {
        $token = auth()->user()->createtoken('MyApp')->accesstoken;
        return response()->json(['token' => $token],200);
    } else {
        return response()->json(['error' => 'UnAuthorised'],401);
    }
}

auth.api

'defaults' => [
    'guard' => 'api','passwords' => 'users',],'guards' => [
    'web' => [
        'driver' => 'session','provider' => 'users','api' => [
        'driver' => 'passport','hash' => false,

我在 api.PHP 中有这个路由:

Route::group(['prefix' => 'v1/admin','as' => 'admin.','namespace' => 'Api\v1\Admin\\','middleware' => ['api']],function () {
  Route::post('login','AdminLoginController@login');
});

当我尝试使用 POST 请求对 POSTMAN 进行测试时,出现此错误

BadMethodCallException:方法 Illuminate\Auth\RequestGuard::attempt 不存在。在文件

我该如何解决这个问题?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)