Php Laravel Passport自定义哈希机制

Php Laravel Passport自定义哈希机制,php,laravel-5,laravel-5.4,laravel-passport,Php,Laravel 5,Laravel 5.4,Laravel Passport,我目前正在构建一个与更大的应用程序(Zend 1.x)一起工作的应用程序(使用Laravel) 我正在使用Laravel passport进行API身份验证。我需要将LaravelPassport的默认哈希机制更改为Zend哈希,以便进行身份验证 有人能给我指一个API或者我需要重写的东西来运行它吗?我不想编辑核心的拉威尔护照代码 我看到过创建自定义用户提供程序和修改validateCredentials()方法的建议,但这些都是针对core Laravel的 我已经在用户类中使用findFor

我目前正在构建一个与更大的应用程序(Zend 1.x)一起工作的应用程序(使用Laravel)

我正在使用Laravel passport进行API身份验证。我需要将LaravelPassport的默认哈希机制更改为Zend哈希,以便进行身份验证

有人能给我指一个API或者我需要重写的东西来运行它吗?我不想编辑核心的拉威尔护照代码

我看到过创建自定义用户提供程序和修改
validateCredentials()
方法的建议,但这些都是针对core Laravel的

我已经在用户类中使用findForPassport方法覆盖用户名字段

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

对于任何想知道的人,您可以覆盖User类中的2个方法(可能更多)来处理自定义Laravel Passport身份验证:

/**
 * Override the field which is used for username in the authentication
 */
public function findForPassport($username)
{
    return $this->where('email', $username)->first();
}

/**
 * Add a password validation callback 
 * 
 * @param type $password
 * @return boolean Whether the password is valid
 */
public function validateForPassportPasswordGrant($password)
{
    $hasher = new HSAUserHasher(); // Or whomever does your hashing

    $result = $hasher->create_hash($password, $this->salt);
    $hashedPassword = $result['password'];

    return $hashedPassword == $this->password;
}
感谢Laravel slack论坛()上的@redviking帮助我找到答案