Login 方法Illumb\Auth\RequestGuard::尝试不存在
我对拉威尔和卢明都是新手。 我在lumen 5.6中使用oauth2.0创建了一个登录api,我已经安装了passport并生成了令牌。 下面是我的登录控制器功能,它工作正常。它返回令牌Login 方法Illumb\Auth\RequestGuard::尝试不存在,login,lumen,Login,Lumen,我对拉威尔和卢明都是新手。 我在lumen 5.6中使用oauth2.0创建了一个登录api,我已经安装了passport并生成了令牌。 下面是我的登录控制器功能,它工作正常。它返回令牌 namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Route; //use Illuminate\Su
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Route;
//use Illuminate\Support\Facades\DB;
use App\User;
use Auth;
public function login(Request $request)
{
global $app;
$proxy = Request::create(
'/oauth/token',
'post',
[
'grant_type' => env('API_GRAND_TYPE'),
'client_id' => env('API_CLIENT_ID'),
'client_secret' => env('API_CLIENT_SECRET'),
'username' => $request->username,
'password' => $request->password,
]
);
return $app->dispatch($proxy);
}
因为除了用户名和密码之外,我还需要检查用户状态,所以我需要首先检查用户凭据。所以我很喜欢这个
public function login(Request $request)
{
$credentials = $request->only('username', 'password');
if (Auth::attempt($credentials)) {
return ['result' => 'ok'];
}
return ['result' => 'not ok'];
}
Here i am getting this error.
Method Illuminate\Auth\RequestGuard::attempt does not exist.
So i tried Auth::check instead of Auth::attempt.
Now there is no error but it always return false even though the credentials are valid.
I searched a lot for a solution but i didn't get.
功能guard仅适用于使用web中间件的路由
public function login() {
if(Auth::guard('web')->attempt(['email' => $email, 'password' => $password], false, false)) {requests
// good
} else {
// invalid credentials, act accordingly
}
}
将默认防护更改为“web”修复了我的问题
config/auth.php:
任何解决方案…?问题是在api上打包Spatial/laravel权限等功能,因此我认为我们应该将api和web混合用于RESTFUL应用程序注意:当使用@Samuel Dervis解决方案时,不要忘记删除登录路径:
“中间件”=>“auth:api”
,如果它在内部的话。guard方法也接受api参数,如Auth::guard('api')
,但我目前在使用它时遇到困难。在我的例子中,我的控制器类名为Auth
。因此,我必须为illumb\Support\Facades\Auth
创建一个别名。
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],