首页 > 解决方案 > 想登录 laravel 护照多身份验证

问题描述

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

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

我正在使用此代码 https://github.com/tusharkhan/Laravel-Passport-MultiAuth/blob/master/app/Http/Controllers/PassportController.php

标签: laravellaravel-passportlaravel-authentication

解决方案


实际上,尝试方法是 SessionGuard 的一部分,您不能使用 Passport,并尝试登录用户,Passport 用于 API 身份验证,API 通常使用令牌来验证用户并且不维护请求之间的会话状态。

为了使它起作用,将您的教练员警卫的驱动程序更改为这样的会话

'trainer' => [
    'driver' => 'session',
    'provider' => 'trainers',// Your trainer table name here
],

推荐阅读