如何使用Laravel Passport和自定义用户名列

时间:2016-08-28 19:18:06

标签: php laravel oauth-2.0 laravel-passport

现在我正在使用类似的东西来验证我的基站上的用户:

f = friendica.friendica (server = '10.211.55.23/api/statuses/update', 
username = 'newtest', password = 'klaup8744', useHTTPS=False)

如何使用自定义列作为用户名修改此代码? https://laravel.com/docs/5.3/passport#password-grant-tokens

2 个答案:

答案 0 :(得分:73)

您可以在用户模型中使用findForPassport方法。

此方法将username作为参数,并返回用户模型

例如:

class User extends Authenticatable
{
    use HasApiTokens, Notifiable;

    // ... some code

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

答案 1 :(得分:5)

回答有点太迟了,但我一直很难想到这一点,所以为了完整起见,可能会帮助其他人。

如果你看一下this part of passport's code,你会发现它也会查找validateForPassportPasswordGrant方法,所以除了亚历山大的回答之外,那是怎么回事您可以使用自定义字段对用户进行身份验证。

希望它有所帮助。