diff options
author | Andrew Dolgov <[email protected]> | 2021-02-08 19:11:31 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2021-02-08 19:11:31 +0300 |
commit | 51d2deeea911e84ea2e56b78544445de22f881b9 (patch) | |
tree | b4d769ada8fa871667771d0d9ec2c4a607f053bd /plugins/auth_internal/init.php | |
parent | fc2e0bf67bb279b960fb50060b6a7b59f0e5afb2 (diff) |
fix hierarchy of authentication modules, make everything extend Auth_Base and implement hook_auth_user() for pluginhost
Diffstat (limited to 'plugins/auth_internal/init.php')
-rw-r--r-- | plugins/auth_internal/init.php | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/auth_internal/init.php b/plugins/auth_internal/init.php index 134d3b45e..b31a23187 100644 --- a/plugins/auth_internal/init.php +++ b/plugins/auth_internal/init.php @@ -1,5 +1,5 @@ <?php -class Auth_Internal extends Plugin implements IAuthModule { +class Auth_Internal extends Auth_Base { private $host; @@ -13,7 +13,6 @@ class Auth_Internal extends Plugin implements IAuthModule { /* @var PluginHost $host */ function init($host) { $this->host = $host; - $this->pdo = Db::pdo(); $host->add_hook($host::HOOK_AUTH_USER, $this); } @@ -178,7 +177,7 @@ class Auth_Internal extends Plugin implements IAuthModule { return false; } - function check_password($owner_uid, $password) { + function check_password($owner_uid, $password, $service = '') { $sth = $this->pdo->prepare("SELECT salt,login,otp_enabled FROM ttrss_users WHERE id = ?"); @@ -189,6 +188,11 @@ class Auth_Internal extends Plugin implements IAuthModule { $salt = $row['salt']; $login = $row['login']; + // check app password only if service is specified + if ($service && get_schema_version() > 138) { + return $this->check_app_password($login, $password, $service); + } + if (!$salt) { $password_hash1 = encrypt_password($password); $password_hash2 = encrypt_password($password, $login); |