Now I'm using something like that for authenticating the user on my base site:
if (Auth::attempt($request->only(['id', 'password']))) {
//
}
How can I modify this code for using custom column as username? https://laravel.com/docs/5.3/passport#password-grant-tokens
You can use findForPassport method in your user model.
This method take username as argument, and return user model
For example:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
// ... some code
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
A bit too late to answer, but I've been having a hard time trying to figure this out, so for the sake of completeness and to maybe help others in the future.
If you take a look to this part of passport's code you'll see that it also looks for a validateForPassportPasswordGrant
method, so in addition to Alexander's answer, that's how you can authenticate an user using custom fields.
Hope it helps someone.
来源:https://stackoverflow.com/questions/39194917/how-to-use-laravel-passport-with-a-custom-username-column