How can I use Laravel's Passport package to authenticate a different password column.
If i want to authenticate from a different 'username' column, it can be done with the following code:
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
It will take Id, as the column. What if I want to use a different 'password' column. A column in the table with a different name such as 'uid_token'.
Adding this
validateForPassportPasswordGrant
method to User model did the job for me ("PasswMd" - custom column name):There's a method the Passport/Bridge asks for called validateForPassportPasswordGrant($password) that you can override in your user model, if you don't override this it will look for a 'password' column in your user table. I'm not entirely sure why they haven't configured it to use Authenticatable method getAuthPassword...