/** * Test login */ public function login($uid) { $login = TaskerMAN\Application\Login::verifyCredentials($this->email, $this->password); $this->assertInstanceOf('TaskerMAN\\Application\\User', $login); // Verify it's returning the correct stuff $this->assertEquals($login->getID(), $uid); $this->assertEquals($login->getEmail(), $this->email); $this->assertEquals($login->getName(), $this->name); $this->assertEquals($login->isAdmin(), $this->admin); // Check API key is valid $API = TaskerMAN\Application\API::authenticateByToken($login->getAPIToken()); $this->assertTrue($API); }
<?php // Get username and password $email = TaskerMAN\Core\IO::GET('email'); $password = TaskerMAN\Core\IO::GET('password'); if (empty($email) || empty($password)) { throw new TaskerMAN\Application\APIErrorException('Requires email and password'); } // Verify the user's login credentials $user = TaskerMAN\Application\Login::verifyCredentials($email, $password); // Login details incorrect if (!$user) { throw new TaskerMAN\Application\APIErrorException('Incorrect email or password'); } // Login success, return API Token echo TaskerMAN\Application\API::response(array('key' => $user->api_token));
/** * Test a set of login credentials */ public function testLogin() { $login = TaskerMAN\Application\Login::verifyCredentials('*****@*****.**', 'monaghan!'); $this->assertInstanceOf('TaskerMAN\\Application\\User', $login); }
// Check if the application is installed, if not, bounce to install page if (TaskerMAN\Core\Install::required()) { header('Location: index.php?p=install'); exit; } // If user is already logged in, take them to main dashboard if (TaskerMAN\WebInterface\Session::isLoggedIn()) { header('Location: index.php?p=main'); exit; } // Hide template TaskerMAN\WebInterface\WebInterface::showTemplate(false); $error = null; if (isset($_POST['submit'])) { $user = TaskerMAN\Application\Login::verifyCredentials(TaskerMAN\Core\IO::POST('email'), TaskerMAN\Core\IO::POST('password')); if (!$user) { // Login failed $error = '<span style="align: center; color: red">Invalid username or password combination</span>'; } elseif (!$user->admin) { $error = '<span style="align: center; color: red">Your account does not have access to this control panel</span>'; } else { TaskerMAN\WebInterface\Session::set('uid', $user->id); header('Location: index.php?p=main'); exit; } } ?> <!DOCTYPE html> <html lang="en">