gpt4 book ai didi

php - Laravel Passport 自定义哈希机制

转载 作者:行者123 更新时间:2023-12-04 02:04:22 30 4
gpt4 key购买 nike

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

我正在使用 Laravel 护照进行 API 身份验证。我需要将 Laravel Passport 默认哈希机制更改为 Zend 哈希才能进行身份验证。

有人可以向我指出一个 API 或我需要覆盖的东西才能让它运行吗?我宁愿不编辑核心 Laravel Passport 代码。

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

我已经在 User 类中使用 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 论坛 (https://larachat.slack.com) 上的@redviking 帮助我找到了答案。

关于php - Laravel Passport 自定义哈希机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44654705/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com