【发布时间】:2018-07-18 01:58:41
【问题描述】:
我正在尝试使用 Passport 创建 API 身份验证,但是当使用 createToken() 注册用户时,我似乎无法创建令牌。
我已经检查了我是否包含了 HasApiTokens,但仍然给出了同样的错误。
错误
方法 Illuminate\Database\Query\Builder::createToken 不存在
应用\用户
namespace App;
use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
注册控制器
**public function userLogin(Request $request)
{
$email = $request->email;
$password = $request->password;
$user = User::where('email' , $email)->where( 'password' , $password);
if($user)
{
$token = $user->createToken('MyApp')->accessToken;
$arr = array('token' => $token, 'status' => 'isTrue', 'userId' => $data[0]->id);
//return response()->json($arr , 200);
}**
}
【问题讨论】: