在这里,我怎么能通过我的新卫士的名字是教练。
if (auth()->attempt($credentials)) {
$token = auth()->user()->createToken('TutsForWeb')->accessToken;
return response()->json(['token' => $token], 200);
} else {
return response()->json(['error' => 'UnAuthorised'], 401);
}
我这里用的是
'Auth::guard('trainer')->attempt($credentials)'
但它显示Method Illuminate\Auth\RequestGuard::try不存在。
实际上,尝试方法是SessionGuard的一部分,你不能使用Passport,并尝试登录用户,Passport用于API认证,而API通常使用令牌来认证用户,并且在请求之间不保持会话状态。
为了使其工作,将你的教练卫士的驱动改为session,就像这样
'trainer' => [
'driver' => 'session',
'provider' => 'trainers',// Your trainer table name here
],