diff --git a/html/includes/api_functions.inc.php b/html/includes/api_functions.inc.php index 83ad9b5117..1a857869d9 100644 --- a/html/includes/api_functions.inc.php +++ b/html/includes/api_functions.inc.php @@ -15,12 +15,20 @@ require_once '../includes/functions.php'; require_once '../includes/component.php'; require_once '../includes/device-groups.inc.php'; +if (file_exists('../html/includes/authentication/'.$config['auth_mechanism'].'.inc.php')) { + include '../html/includes/authentication/'.$config['auth_mechanism'].'.inc.php'; +} function authToken(\Slim\Route $route) { $app = \Slim\Slim::getInstance(); $token = $app->request->headers->get('X-Auth-Token'); if (isset($token) && !empty($token)) { - $username = dbFetchCell('SELECT `U`.`username` FROM `api_tokens` AS AT JOIN `users` AS U ON `AT`.`user_id`=`U`.`user_id` WHERE `AT`.`token_hash`=?', array($token)); + if (!function_exists('get_user')) { + $username = dbFetchCell('SELECT `U`.`username` FROM `api_tokens` AS AT JOIN `users` AS U ON `AT`.`user_id`=`U`.`user_id` WHERE `AT`.`token_hash`=?', array($token)); + } + else { + $username = get_user(dbFetchCell('SELECT `AT`.`user_id` FROM `api_tokens` AS AT WHERE `AT`.`token_hash`=?', array($token))); + } if (!empty($username)) { $authenticated = true; } diff --git a/html/includes/authentication/ldap-authorization.inc.php b/html/includes/authentication/ldap-authorization.inc.php index 89717557a9..5b68fdf82f 100644 --- a/html/includes/authentication/ldap-authorization.inc.php +++ b/html/includes/authentication/ldap-authorization.inc.php @@ -242,7 +242,9 @@ function can_update_users () { function get_user ($user_id) { - // Not supported + foreach (get_userlist() as $users) { + if ($users['user_id'] === $user_id) return $users['username']; + } return 0; } diff --git a/html/includes/authentication/ldap.inc.php b/html/includes/authentication/ldap.inc.php index f9cc37b211..a9679072fd 100644 --- a/html/includes/authentication/ldap.inc.php +++ b/html/includes/authentication/ldap.inc.php @@ -189,7 +189,9 @@ function can_update_users() { function get_user($user_id) { - // not supported + foreach (get_userlist() as $users) { + if ($users['user_id'] === $user_id) return $users['username']; + } return 0; }