]> git.wh0rd.org - tt-rss.git/blame - classes/auth/base.php
require entering password before enabling/disabling otp
[tt-rss.git] / classes / auth / base.php
CommitLineData
0d421af8
AD
1<?php
2class Auth_Base {
3 protected $link;
4
5 function __construct($link) {
6 $this->link = $link;
7 }
8
9 function authenticate($login, $password) {
10 return false;
11 }
12
13 // Auto-creates specified user if allowed by system configuration
14 // Can be used instead of find_user_by_login() by external auth modules
15 function auto_create_user($login) {
16 if ($login && defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE) {
17 $user_id = $this->find_user_by_login($login);
18
19 if (!$user_id) {
20 $login = db_escape_string($login);
21 $salt = substr(bin2hex(get_random_bytes(125)), 0, 250);
22 $pwd_hash = encrypt_password($password, $salt, true);
23
24 $query = "INSERT INTO ttrss_users
25 (login,access_level,last_login,created,pwd_hash,salt)
26 VALUES ('$login', 0, null, NOW(), '$pwd_hash','$salt')";
27
28 db_query($this->link, $query);
29
30 return $this->find_user_by_login($login);
31
32 } else {
33 return $user_id;
34 }
35 }
36
501ed09a 37 return $this->find_user_by_login($login);
0d421af8
AD
38 }
39
40 function find_user_by_login($login) {
41 $login = db_escape_string($login);
42
43 $result = db_query($this->link, "SELECT id FROM ttrss_users WHERE
44 login = '$login'");
45
46 if (db_num_rows($result) > 0) {
47 return db_fetch_result($result, 0, "id");
48 } else {
49 return false;
50 }
51
52 }
53}
54
55?>