如何通过自定义用户名列使用Laravel Passport
问题描述:
现在,我正在使用类似的方法在我的基础站点上对用户进行身份验证:
Now I'm using something like that for authenticating the user on my base site:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
如何修改此代码以将自定义列用作用户名? https://laravel.com/docs/5.3/passport#password-grant-tokens
How can I modify this code for using custom column as username? https://laravel.com/docs/5.3/passport#password-grant-tokens
答
您可以在用户模型中使用findForPassport方法.
You can use findForPassport method in your user model.
此方法以用户名作为参数,然后返回用户模型
This method take username as argument, and return user model
例如:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}