diff options
author | Morris Jobke <hey@morrisjobke.de> | 2015-03-13 15:53:22 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2015-03-13 15:53:22 +0100 |
commit | 0d9f149dd93997085b85e2b174f5989a1b996263 (patch) | |
tree | 1f6f4c478b1ae7fdce0559920547c4b325dfd649 /lib/private/user | |
parent | f668ed25fe2997f54085982352df36630a4e1efa (diff) | |
parent | 93a303970f21a0c621d74b9af7fb93463a936510 (diff) | |
download | nextcloud-server-0d9f149dd93997085b85e2b174f5989a1b996263.tar.gz nextcloud-server-0d9f149dd93997085b85e2b174f5989a1b996263.zip |
Merge pull request #14867 from owncloud/drop-OC_User_HTTP
Remove OC_User_HTTP
Diffstat (limited to 'lib/private/user')
-rw-r--r-- | lib/private/user/http.php | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/lib/private/user/http.php b/lib/private/user/http.php deleted file mode 100644 index 8375c4e1e22..00000000000 --- a/lib/private/user/http.php +++ /dev/null @@ -1,120 +0,0 @@ -<?php - -/** -* ownCloud -* -* @author Frank Karlitschek -* @copyright 2012 Robin Appelman icewind@owncloud.com -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ - -/** - * user backend using http auth requests - */ -class OC_User_HTTP extends OC_User_Backend implements \OCP\IUserBackend { - /** - * split http://user@host/path into a user and url part - * @param string $url - * @return array - */ - private function parseUrl($url) { - $parts=parse_url($url); - $url=$parts['scheme'].'://'.$parts['host']; - if(isset($parts['port'])) { - $url.=':'.$parts['port']; - } - $url.=$parts['path']; - if(isset($parts['query'])) { - $url.='?'.$parts['query']; - } - return array($parts['user'], $url); - - } - - /** - * check if an url is a valid login - * @param string $url - * @return boolean - */ - private function matchUrl($url) { - return ! is_null(parse_url($url, PHP_URL_USER)); - } - - /** - * Check if the password is correct - * @param string $uid The username - * @param string $password The password - * @return string - * - * Check if the password is correct without logging in the user - * returns the user id or false - */ - public function checkPassword($uid, $password) { - if(!$this->matchUrl($uid)) { - return false; - } - list($user, $url)=$this->parseUrl($uid); - - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_USERPWD, $user.':'.$password); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); - curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); - - curl_exec($ch); - - $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); - - curl_close($ch); - - if($status === 200) { - return $uid; - } - - return false; - } - - /** - * check if a user exists - * @param string $uid the username - * @return boolean - */ - public function userExists($uid) { - return $this->matchUrl($uid); - } - - /** - * get the user's home directory - * @param string $uid the username - * @return string|false - */ - public function getHome($uid) { - if($this->userExists($uid)) { - return OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" ) . '/' . $uid; - }else{ - return false; - } - } - - /** - * Backend name to be shown in user management - * @return string the name of the backend to be shown - */ - public function getBackendName(){ - return 'HTTP'; - } -} |