Initial commit
This commit is contained in:
84
api-wiaas/server/components/v2/login/LoginController.php
Normal file
84
api-wiaas/server/components/v2/login/LoginController.php
Normal file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
class LoginController{
|
||||
private $model;
|
||||
|
||||
function __construct(){
|
||||
$this->model = new LoginModel();
|
||||
}
|
||||
|
||||
/**
|
||||
* get JWT Token for app
|
||||
* @return json token
|
||||
*/
|
||||
public function getToken(){
|
||||
global $user;
|
||||
if(isset($_POST['login'])){
|
||||
$login = $user->login($_POST['username'], $_POST['password'], true);
|
||||
$login['userInfo'] = $user->getUserInfo();
|
||||
$login['serverTime'] = time();
|
||||
echo json_encode($login);
|
||||
}else{
|
||||
echo json_encode(['status' => 'fail', 'errorMessage' => 'invalid request']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* validate the token
|
||||
* @return json status => status for token validation, errorMessage => error message
|
||||
*/
|
||||
public function validateToken(){
|
||||
global $user;
|
||||
if($user->isLoggedIn()){
|
||||
$refreshToken = $user->getRefreshToken();
|
||||
$message = ['status' => 'success', 'userInfo' => $user->getUserInfo(), 'refreshToken' => $refreshToken, 'serverTime' => time()];
|
||||
}else{
|
||||
$message = ['status' => 'fail', 'errorMessage' => $user->getErrorMessage()];
|
||||
}
|
||||
|
||||
echo json_encode($message);
|
||||
}
|
||||
|
||||
public function refreshToken(){
|
||||
global $user;
|
||||
|
||||
$refreshToken = isset($_REQUEST['refreshToken']) ? $_REQUEST['refreshToken'] : '';
|
||||
$lastActivity = isset($_REQUEST['lastActivity']) ? $_REQUEST['lastActivity'] : '1000';
|
||||
$message = $user->refreshToken($refreshToken, $lastActivity);
|
||||
$message['serverTime'] = time();
|
||||
$message['userInfo'] = $user->getUserInfo();
|
||||
|
||||
echo json_encode($message);
|
||||
}
|
||||
|
||||
/**
|
||||
* get allowed modues for user type
|
||||
* @return json modules array
|
||||
*/
|
||||
public function getModules(){
|
||||
global $user, $route;
|
||||
if($user->isLoggedIn()){
|
||||
echo json_encode(['modules' => $route::getModules()]);
|
||||
}else{
|
||||
echo json_encode(['modules' => []]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* generate new token for user
|
||||
* @return json update message
|
||||
*/
|
||||
public function forgotPassword(){
|
||||
$mail = isset($_POST['mail']) ? $_POST['mail'] : '';
|
||||
echo json_encode($this->model->forgotPassword($mail));
|
||||
}
|
||||
|
||||
public function changePassword(){
|
||||
$token = isset($_REQUEST['token']) ? $_REQUEST['token'] : '';
|
||||
$passwords = [
|
||||
'newPassword' => isset($_REQUEST['newPassword']) ? $_REQUEST['newPassword'] : '',
|
||||
'confirmPassword' => isset($_REQUEST['confirmPassword']) ? $_REQUEST['confirmPassword'] : ''
|
||||
];
|
||||
echo json_encode($this->model->changePassword($token, $passwords));
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user