2 header(
"Access-Control-Allow-Origin: *");
3 header(
"Content-Type: application/json; charset=UTF-8");
4 header(
"Access-Control-Allow-Methods: POST");
5 header(
"Access-Control-Allow-Headers: Content-Type,Access-Control-Allow-Headers, Authorization, X-Requested-With");
8 require_once(dirname(__FILE__) .
'/../../shared/library/hcuLogError.i');
9 require_once(dirname(__FILE__) .
'/../../shared/library/hcuCommon.i');
10 require_once(dirname(__FILE__) .
'/../../shared/library/logging.i');
11 require_once(dirname(__FILE__) .
'/../../shared/library/hcuEnv.i');
12 require_once(dirname(__FILE__) .
'/../../shared/library/cu_flagconst.i');
13 require_once(dirname(__FILE__) .
'/../../shared/library/cu_fun.i');
14 require_once(dirname(__FILE__) .
'/../../shared/library/errormail.i');
15 require_once(dirname(__FILE__) .
'/../../shared/library/cu_func.i');
16 require_once(dirname(__FILE__) .
'/../../shared/library/commonJsFunctions.i');
18 require_once(dirname(__FILE__) .
'/../../shared/library/db.postgres.i');
20 require_once(dirname(__FILE__) .
'/../../shared/library/cu_data.i');
21 require_once(dirname(__FILE__) .
'/../../banking/library/cu_credentials.i');
22 require_once(dirname(__FILE__) .
"/../../shared/library/hcuTranslate.i");
23 require_once(dirname(__FILE__) .
'/../../shared/library/dms_imp_val.i');
24 require_once(dirname(__FILE__) .
'/../../monitor/library/monitorFunctions.i');
25 require_once(dirname(__FILE__) .
'/../../shared/library/cuDataModel.i');
28 require_once(dirname(__FILE__) .
'/../../banking/library/UserLogin.php');
29 require_once(dirname(__FILE__) .
'/../../banking/library/UserRepo.php');
30 require_once(dirname(__FILE__) .
'/../../banking/library/User.php');
31 require_once(dirname(__FILE__) .
'/../../banking/library/CuAdmin.php');
32 require_once(dirname(__FILE__) .
'/../../banking/library/CuAdminRepo.php');
35 require_once(dirname(__FILE__) .
'/../../banking/library/hcuDispFunctions.i');
36 require_once(dirname(__FILE__) .
'/../../shared/library/hcuFunctions.i');
47 $HB_ENV[
'SYSENV'] = LoadSystemEnv(
"banking");
48 SetEnvStatic($HB_ENV);
49 $dbh = GetDBH($HB_ENV[
'SYSENV'][
'db']);
50 $HB_ENV[
"dbh"] = $dbh;
52 $HB_ENV[
'homebankingpath'] = $_POST[
'homebankingpath'];
54 $HB_ENV[
'chome'] = strtolower($Cu);
56 $HB_ENV[
'Flang'] =
"en_US";
59 $HB_ENV[
'platform'] = $_POST[
'platform'];
61 if(isset($_POST[
'action']) && !empty($_POST[
'action'])) {
62 $action = $_POST[
'action'];
65 $loginNoticeAry = Get_NoticeInfo($dbh, $HB_ENV, $MC,
"D",
"loginNotice");
66 $aryResult = $loginNoticeAry;
69 $loginPromoAry = Get_NoticeInfo($dbh, $HB_ENV, $MC,
"D",
"LoginPromo");
70 $aryResult = $loginPromoAry;
79 if ($_POST[
'payload']) {
80 $payload = $_POST[
'payload'];
82 $data = HCU_PayloadDecode($Cu, $payload);
83 $username = trim(strval($data[
'username']));
84 $password = trim(strval($data[
'password']));
88 $cuAdmin =
new CuAdmin($Cu, $cuAdminRepo);
89 $userRepo =
new UserRepo($dbh, $logger, $Cu);
90 $user =
new User($username, $Cu, $userRepo);
93 $isValid = $login->ValidateUser($password);
94 $isLocked = $login->IsAccountLocked();
95 $isValidDevice = $login->IsValidDeviceCookie($Cu);
96 $isValidMammothDevice = $login->IsValidMammothDeviceCookie($Cu, $HB_ENV);
97 $isMfaMode = $login->IsMFAMode();
101 throw new Exception(
"Invalid Username or Password");
105 if ($login->new_user) {
106 $loginAry[
'Step'] =
'Setup';
110 $resetlink = $HB_ENV[
'homebankingpath'] .
"/hcuResetPwd.prg?cu={$Cu}";
111 throw new Exception($MC->combo_msg(
'Account is Locked Reset', 0,
'#link#',
"$resetlink"));
113 }
else if ($isValidDevice || $isValidMammothDevice) {
115 $loginAry[
'Step'] =
'None';
117 $login->CreateSessionTicket($HB_ENV, $MC, $Cu);
120 $loginAry[
'Step'] =
'MFA';
123 $aryInfo =
'Success';
124 $aryResult = $loginAry;
136 }
catch (Exception $err) {
138 $aryReply[
"errors"] = $err->getMessage();
140 $aryResult = array();
146 if (count($aryInfo)) {
147 $aryReply[
"info"] = $aryInfo;
150 if (count($aryResult)) {
151 $aryReply[
"data"] = $aryResult;
154 print json_encode($aryReply);