想在laravel passport multiauth中登录

问题描述 投票:0回答:1

在这里,我怎么能通过我的新卫士的名字是教练。

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不存在。

我使用的代码是这样的 https:/github.comtusharkhanLaravel-Passport-MultiAuthblobmasterappHttpControllersPassportController.php。

laravel laravel-passport laravel-authentication
1个回答
0
投票

实际上,尝试方法是SessionGuard的一部分,你不能使用Passport,并尝试登录用户,Passport用于API认证,而API通常使用令牌来认证用户,并且在请求之间不保持会话状态。

为了使其工作,将你的教练卫士的驱动改为session,就像这样

'trainer' => [
    'driver' => 'session',
    'provider' => 'trainers',// Your trainer table name here
],
© www.soinside.com 2019 - 2024. All rights reserved.