【发布时间】:2018-04-11 19:14:39
【问题描述】:
我尝试在默认/手动 moodle auth 插件中实现短期密码功能。
因此,我有一个表,其中包含 user_id、password 和 hash_internal_user_password 散列的 valid_from 以及 valid_to 时间戳。
在身份验证插件的user_login($username, $password) 方法中,我添加了以下代码块
// Test for short-term-passwords
$stps = $DB->get_records('local_stp', ['user_id' => $user->id]);
foreach ($stps as $stp ) {
$now = time();
$validFrom = (int) $stp->valid_from;
$validTo = (int) $stp->valid_to;
if ($now < $validFrom || $now > $validTo) {
continue;
}
if (password_verify($password, $stp->password)) {
return true;
}
}
这就像魅力一样。但是每次我使用这些临时密码之一登录时,默认用户密码的哈希值都会更改,我无法使用常规密码登录。
为什么会这样?
【问题讨论】:
标签: php authentication moodle