diff options
author | Zach Copley <zach@status.net> | 2009-10-05 17:10:30 -0700 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2009-10-05 17:10:30 -0700 |
commit | 475bdf6fba3ee8081f3726f98ecd3a50fdda305e (patch) | |
tree | 46e7fa0b7d017c5b1ce64db17ff24594f543170c /actions/apiaccountverifycredentials.php | |
parent | dd0d90723142d8042991f998f2b0c355d47638b5 (diff) |
New actions for the account methods we have implemented
Diffstat (limited to 'actions/apiaccountverifycredentials.php')
-rw-r--r-- | actions/apiaccountverifycredentials.php | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/actions/apiaccountverifycredentials.php b/actions/apiaccountverifycredentials.php new file mode 100644 index 000000000..b9c9bf0f7 --- /dev/null +++ b/actions/apiaccountverifycredentials.php @@ -0,0 +1,104 @@ +<?php +/** + * StatusNet, the distributed open-source microblogging tool + * + * Test if supplied user credentials are valid. + * + * PHP version 5 + * + * LICENCE: This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 program. If not, see <http://www.gnu.org/licenses/>. + * + * @category API + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @copyright 2009 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +require_once INSTALLDIR.'/lib/apiauth.php'; + +/** + * Check a user's credentials. Returns an HTTP 200 OK response code and a + * representation of the requesting user if authentication was successful; + * returns a 401 status code and an error message if not. + * + * @category API + * @package StatusNet + * @author Zach Copley <zach@status.net> + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +class ApiAccountVerifyCredentialsAction extends ApiAuthAction +{ + var $format = null; + + /** + * Take arguments for running + * + * @param array $args $_REQUEST args + * + * @return boolean success flag + * + */ + + function prepare($args) + { + parent::prepare($args); + + if ($this->requiresAuth()) { + if ($this->checkBasicAuthUser() == false) { + return false; + } + } + + $this->format = $this->arg('format'); + return true; + } + + /** + * Handle the request + * + * Check whether the credentials are valid and output the result + * + * @param array $args $_REQUEST data (unused) + * + * @return void + */ + + function handle($args) + { + parent::handle($args); + + switch ($this->format) { + case 'xml': + case 'json': + $args['id'] = $this->auth_user->id; + $action_obj = new ApiUserShowAction(); + $action_obj->prepare($args); + $action_obj->handle($args); + break; + default: + header('Content-Type: text/html; charset=utf-8'); + print 'Authorized'; + } + + } + +} |