2016-11-15 4 views
2

Как я могу использовать пакет Passport для проверки подлинности другого столбца паролей.пароль паспорта laravel пользовательский пароль столбец

Если я хочу, чтобы проверить подлинность из другого столбца «Имя пользователя», это можно сделать с помощью следующего кода:

public function findForPassport($username) { 
     return $this->where('id', $username)->first(); 
    } 

Это займет Id, как столбец. Что делать, если я хочу использовать другой столбец «пароль». Столбец в таблице с другим именем, например «uid_token».

ответ

4

Существует метод, с помощью которого Passport/Bridge запрашивает вызванный validateForPassportPasswordGrant ($ password), который вы можете переопределить в своей модели пользователя, если вы не переопределите это, он будет искать столбец «пароль» в вашей пользовательской таблице. Я не совсем уверен, почему они не настроил его использовать метод getAuthPassword его подлинности ...

3

validateForPassportPasswordGrant Добавление этого метода к модели User сделал работу для меня («PasswMd» - пользовательское имя столбца):

public function validateForPassportPasswordGrant($password) 
{ 
    return Hash::check($password, $this->PasswMd); 
}