如何使用带有自定义用户名列的 Laravel Passport
How to use Laravel Passport with a custom username column
现在我正在使用类似的东西来验证我的基本站点上的用户:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
如何修改此代码以使用自定义列作为用户名?
https://laravel.com/docs/5.3/passport#password-grant-tokens
您可以在用户模型中使用 findForPassport 方法。
此方法以用户名为参数,return用户模型
例如:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
回答有点晚了,但我一直很难弄清楚这个问题,所以为了完整起见,并可能在将来帮助其他人。
如果您查看 this part of passport's code,您会发现它也在查找 validateForPassportPasswordGrant
方法,因此除了 Alexander 的回答之外,您还可以使用自定义字段对用户进行身份验证.
希望对大家有所帮助。
现在我正在使用类似的东西来验证我的基本站点上的用户:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
如何修改此代码以使用自定义列作为用户名? https://laravel.com/docs/5.3/passport#password-grant-tokens
您可以在用户模型中使用 findForPassport 方法。
此方法以用户名为参数,return用户模型
例如:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
回答有点晚了,但我一直很难弄清楚这个问题,所以为了完整起见,并可能在将来帮助其他人。
如果您查看 this part of passport's code,您会发现它也在查找 validateForPassportPasswordGrant
方法,因此除了 Alexander 的回答之外,您还可以使用自定义字段对用户进行身份验证.
希望对大家有所帮助。