CODE_MERGE : RV
This commit is contained in:
commit
12a97047f1
@ -12,6 +12,8 @@ use CodeIgniter\Filters\SecureHeaders;
|
|||||||
use App\Filters\AuthMVC;
|
use App\Filters\AuthMVC;
|
||||||
use App\Filters\HttpRequestLog;
|
use App\Filters\HttpRequestLog;
|
||||||
|
|
||||||
|
use App\Filters\AuthJWT;
|
||||||
|
|
||||||
class Filters extends BaseConfig
|
class Filters extends BaseConfig
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -29,7 +31,8 @@ class Filters extends BaseConfig
|
|||||||
'invalidchars' => InvalidChars::class,
|
'invalidchars' => InvalidChars::class,
|
||||||
'secureheaders' => SecureHeaders::class,
|
'secureheaders' => SecureHeaders::class,
|
||||||
'authMVC' => AuthMVC::class,
|
'authMVC' => AuthMVC::class,
|
||||||
'HttpRequestLog' => HttpRequestLog::class
|
'HttpRequestLog' => HttpRequestLog::class,
|
||||||
|
'authJWT' => AuthJWT::class
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -191,3 +191,11 @@ $routes->group("/util", ["filter" => "authMVC"], function($routes){
|
|||||||
|
|
||||||
$routes->cli('processjob', 'JobWorker::processJob');
|
$routes->cli('processjob', 'JobWorker::processJob');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$routes->get("/api", "RestAuthenticationController::index");
|
||||||
|
$routes->group("/api", ["filter" => "authJWT"], function($routes){
|
||||||
|
$routes->post("logined", "RestAuthenticationController::logined");
|
||||||
|
$routes->post("getId", "RestAuthenticationController::getUserIdFromToken");
|
||||||
|
|
||||||
|
});
|
||||||
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Controllers;
|
namespace App\Controllers;
|
||||||
use App\Helpers\DepositHelper;
|
use App\Helpers\DepositHelper;
|
||||||
|
use App\helpers\JWTToken;
|
||||||
use CodeIgniter\HTTP\IncomingRequest;
|
use CodeIgniter\HTTP\IncomingRequest;
|
||||||
use CodeIgniter\HTTP\RequestInterface;
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
use CodeIgniter\HTTP\ResponseInterface;
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
@ -29,6 +30,8 @@ use App\Models\PolicyPremium1Model;
|
|||||||
use App\Models\PolicyPremium2Model;
|
use App\Models\PolicyPremium2Model;
|
||||||
use App\Models\EmployeeModel;
|
use App\Models\EmployeeModel;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ClientController extends AdminController
|
class ClientController extends AdminController
|
||||||
{
|
{
|
||||||
use ResponseTrait;
|
use ResponseTrait;
|
||||||
@ -86,6 +89,15 @@ class ClientController extends AdminController
|
|||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// $token = $_SESSION;
|
||||||
|
// $token = $request->getHeaderLine('Authorization');
|
||||||
|
|
||||||
|
|
||||||
|
// print_r(JWTToken::getIdFromToken($token));
|
||||||
|
|
||||||
|
// die();
|
||||||
|
|
||||||
$this->myLogger->logme('error','Client list function called');
|
$this->myLogger->logme('error','Client list function called');
|
||||||
$headerData['page_name'] = 'Client List';
|
$headerData['page_name'] = 'Client List';
|
||||||
$data['clientList'] = $this->clientModel->getCreatedByUserName();
|
$data['clientList'] = $this->clientModel->getCreatedByUserName();
|
||||||
@ -759,6 +771,7 @@ class ClientController extends AdminController
|
|||||||
{
|
{
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$this->myLogger->logme('error','Terms CREATE function called');
|
$this->myLogger->logme('error','Terms CREATE function called');
|
||||||
|
|
||||||
/*** Client Policy Table Primary Key(ID) ***/
|
/*** Client Policy Table Primary Key(ID) ***/
|
||||||
@ -766,13 +779,8 @@ class ClientController extends AdminController
|
|||||||
|
|
||||||
$data['sum_insured'] =$this->request->getPost("sum_insured");
|
$data['sum_insured'] =$this->request->getPost("sum_insured");
|
||||||
$data['family_floater'] =$this->request->getPost("family_floater");
|
$data['family_floater'] =$this->request->getPost("family_floater");
|
||||||
if (!$data['family_floater'] || $data['family_floater'] == 0) {
|
|
||||||
$data['corporatebuffer'] = "";
|
|
||||||
$data['family_floaters'] = "";
|
|
||||||
}else{
|
|
||||||
$data['corporatebuffer'] = $this->request->getPost("corporatebuffer");
|
$data['corporatebuffer'] = $this->request->getPost("corporatebuffer");
|
||||||
$data['family_floaters'] = $this->request->getPost("family_floaters") ?? [];
|
$data['family_floaters'] = $this->request->getPost("family_floaters") ?? [];
|
||||||
}
|
|
||||||
|
|
||||||
$data['waiverofpreexistingdiseases'] =$this->request->getPost("waiverofpreexistingdiseases");
|
$data['waiverofpreexistingdiseases'] =$this->request->getPost("waiverofpreexistingdiseases");
|
||||||
if ($data['waiverofpreexistingdiseases'] == 1) {
|
if ($data['waiverofpreexistingdiseases'] == 1) {
|
||||||
@ -858,7 +866,6 @@ class ClientController extends AdminController
|
|||||||
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
|
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
|
||||||
$policy_name = $this->policesModel->select('name')->where('id', $record['policy_id'])->first();
|
$policy_name = $this->policesModel->select('name')->where('id', $record['policy_id'])->first();
|
||||||
|
|
||||||
|
|
||||||
$emp_count = $this->employeeModel ->join('client_policy cp',"employees.client_id = cp.client_id")
|
$emp_count = $this->employeeModel ->join('client_policy cp',"employees.client_id = cp.client_id")
|
||||||
->join('employee_polices ep',"cp.id = ep.client_policy_id AND employees.id = ep.employee_id")
|
->join('employee_polices ep',"cp.id = ep.client_policy_id AND employees.id = ep.employee_id")
|
||||||
->where("employees.client_id", $record['client_id'])
|
->where("employees.client_id", $record['client_id'])
|
||||||
|
|||||||
72
app/Controllers/RestAuthenticationController.php
Normal file
72
app/Controllers/RestAuthenticationController.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
|
namespace App\Controllers;
|
||||||
|
use App\Helpers\DepositHelper;
|
||||||
|
use App\Helpers\JWTToken;
|
||||||
|
use CodeIgniter\HTTP\IncomingRequest;
|
||||||
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
use CodeIgniter\API\ResponseTrait;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
use Firebase\JWT\JWT;
|
||||||
|
// require_once('../vendor/autoload.php');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class RestAuthenticationController extends AdminController
|
||||||
|
{
|
||||||
|
use ResponseTrait;
|
||||||
|
|
||||||
|
protected $myLogger;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
// set_session_context('Client');
|
||||||
|
$this->myLogger = \Config\Services::mylogger();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$this->myLogger->logme('error','Rest Authentication function called');
|
||||||
|
$data =["id"=>"2", "role"=>"staff"];
|
||||||
|
|
||||||
|
print_r(JWTToken::encode($data));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function logined()
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->myLogger->logme('error','Rest Authentication function called');
|
||||||
|
|
||||||
|
echo "Rest Authentication Logined Success........";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function getUserIdFromToken()
|
||||||
|
{
|
||||||
|
$id = JWTToken::getUserIdFromToken();
|
||||||
|
// echo $id['id'];
|
||||||
|
echo "Id----> ";
|
||||||
|
print_r($id);
|
||||||
|
$role = JWTToken::getUserRoleFromToken();
|
||||||
|
echo " Role----> ";
|
||||||
|
echo $role;
|
||||||
|
|
||||||
|
|
||||||
|
$tokenArray = JWTToken::decodeToken();
|
||||||
|
echo " TokenArray----> ";
|
||||||
|
print_r($tokenArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
55
app/Filters/AuthJWT.php
Normal file
55
app/Filters/AuthJWT.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filters;
|
||||||
|
|
||||||
|
use App\Helpers\JWTToken;
|
||||||
|
use CodeIgniter\Filters\FilterInterface;
|
||||||
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
|
use CodeIgniter\HTTP\ResponseInterface;
|
||||||
|
use Firebase\JWT\JWT;
|
||||||
|
use Firebase\JWT\Key;
|
||||||
|
use ReflectionClass;
|
||||||
|
|
||||||
|
require_once('../vendor/autoload.php');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class AuthJWT implements FilterInterface
|
||||||
|
{
|
||||||
|
public function before(RequestInterface $request, $arguments = null)
|
||||||
|
{
|
||||||
|
$jwt = $request->getHeader('Authorization');
|
||||||
|
|
||||||
|
if ($jwt) {
|
||||||
|
if (JWTToken::validateJWT($jwt)) {
|
||||||
|
$data = JWTToken::validateJWT($jwt);
|
||||||
|
$data = json_decode($data);
|
||||||
|
if ($data->status) {
|
||||||
|
// $auth = $request->getHeader("Authorization");
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
http_response_code(401);
|
||||||
|
$error = json_encode(["status" => 401, "message" => $data->message]);
|
||||||
|
echo $error;
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
http_response_code(403);
|
||||||
|
$error = json_encode(["status" => 403, "message" => "Access Forbidden!"]);
|
||||||
|
echo $error;
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function after(RequestInterface $request, ResponseInterface $response, $arguments = null)
|
||||||
|
{
|
||||||
|
// Do something here after the response is sent
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
127
app/Helpers/JWTToken.php
Normal file
127
app/Helpers/JWTToken.php
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Helpers;
|
||||||
|
|
||||||
|
|
||||||
|
use Firebase\JWT\JWT;
|
||||||
|
use Firebase\JWT\Key;
|
||||||
|
use Firebase\JWT\ExpiredException;
|
||||||
|
use Firebase\JWT\BeforeValidException;
|
||||||
|
use Firebase\JWT\SignatureInvalidException;
|
||||||
|
// use Psr\Http\Message\RequestInterface;
|
||||||
|
use CodeIgniter\HTTP\RequestInterface;
|
||||||
|
use ReflectionClass;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class JWTToken
|
||||||
|
{
|
||||||
|
|
||||||
|
public static function encode($data =null)
|
||||||
|
{
|
||||||
|
$secret_Key="secret";
|
||||||
|
$iat = time();
|
||||||
|
$exp = $iat + 36000;
|
||||||
|
$request_data = [
|
||||||
|
"iat" => $iat,
|
||||||
|
"exp" => $exp,
|
||||||
|
];
|
||||||
|
if ($data !== null) {
|
||||||
|
$request_data = array_merge($request_data, (array)$data);
|
||||||
|
}
|
||||||
|
try{
|
||||||
|
$token = JWT::encode($request_data ,$secret_Key,'HS512');
|
||||||
|
|
||||||
|
return ['status' => true,'token' => $token];
|
||||||
|
}
|
||||||
|
catch (Exception $e) {
|
||||||
|
return ['status' => false,'message' => $e->getMessage()];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function validateJWT($jwt)
|
||||||
|
{
|
||||||
|
$jwtParts = explode(' ', $jwt);
|
||||||
|
|
||||||
|
if (count($jwtParts) != 2 || $jwtParts[0] == 'Bearer') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$token = $jwtParts[1];
|
||||||
|
|
||||||
|
try {
|
||||||
|
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
|
||||||
|
return json_encode(['status' => true, 'message' => 'Token is valid', 'decoded' => (array) $decoded]);
|
||||||
|
} catch (ExpiredException $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'Token has expired']);
|
||||||
|
} catch (BeforeValidException $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'Token is not yet valid']);
|
||||||
|
} catch (SignatureInvalidException $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'Token signature is invalid']);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'An error occurred while decoding the token']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static function getIdFromToken($jwt)
|
||||||
|
{
|
||||||
|
|
||||||
|
$jwtParts = explode(' ', $jwt);
|
||||||
|
|
||||||
|
$token = $jwtParts[0];
|
||||||
|
|
||||||
|
try {
|
||||||
|
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
|
||||||
|
return json_encode(['status' => true, 'message' => 'Token is valid', 'data' =>$decoded->data->id ]);
|
||||||
|
} catch (ExpiredException $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'Token has expired']);
|
||||||
|
} catch (BeforeValidException $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'Token is not yet valid']);
|
||||||
|
} catch (SignatureInvalidException $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'Token signature is invalid']);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return json_encode(['status' => false, 'message' => 'An error occurred while decoding the token']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getUserIdFromToken()
|
||||||
|
{
|
||||||
|
$request = \Config\Services::request();
|
||||||
|
$jwt = $request->getHeader('Authorization');
|
||||||
|
$jwtParts = explode(' ', $jwt);
|
||||||
|
$token = $jwtParts[1];
|
||||||
|
|
||||||
|
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
|
||||||
|
return $decoded->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getUserRoleFromToken()
|
||||||
|
{
|
||||||
|
$request = \Config\Services::request();
|
||||||
|
$jwt = $request->getHeader('Authorization');
|
||||||
|
$jwtParts = explode(' ', $jwt);
|
||||||
|
$token = $jwtParts[1];
|
||||||
|
|
||||||
|
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
|
||||||
|
return $decoded->role;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static function decodeToken()
|
||||||
|
{
|
||||||
|
$request = \Config\Services::request();
|
||||||
|
$jwt = $request->getHeader('Authorization');
|
||||||
|
$jwtParts = explode(' ', $jwt);
|
||||||
|
$token = $jwtParts[1];
|
||||||
|
|
||||||
|
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
|
||||||
|
return $decoded;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@
|
|||||||
<input type="radio" name="family_floater" value="1"> Yes
|
<input type="radio" name="family_floater" value="1"> Yes
|
||||||
<input type="radio" name="family_floater" value="0" style="margin-left:10px"> No
|
<input type="radio" name="family_floater" value="0" style="margin-left:10px"> No
|
||||||
</div>
|
</div>
|
||||||
<div style="display:none; margin-top: 27px;margin-bottom: 7px; margin-left: 31px;">
|
<div style=" margin-top: 27px;margin-bottom: 7px; margin-left: 31px;">
|
||||||
<div>
|
<div>
|
||||||
<input type="checkbox" name="family_floaters[]" value="self" id="self" checked disabled> Self
|
<input type="checkbox" name="family_floaters[]" value="self" id="self" checked disabled> Self
|
||||||
<input type="checkbox" name="family_floaters[]" value="spouse" id="spouse"> Spouse
|
<input type="checkbox" name="family_floaters[]" value="spouse" id="spouse"> Spouse
|
||||||
@ -368,20 +368,20 @@ var grid_html = '';
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$('input[name="family_floater"]').change(function() {
|
// $('input[name="family_floater"]').change(function() {
|
||||||
console.log($(this).val());
|
// console.log($(this).val());
|
||||||
if ($(this).val() == '1') {
|
// if ($(this).val() == '1') {
|
||||||
var element = $(this).parent().next()[0];
|
// var element = $(this).parent().next()[0];
|
||||||
$(element).css("display", "block");
|
// $(element).css("display", "block");
|
||||||
var element2 = $(this).parent().parent().parent().next()[0];
|
// var element2 = $(this).parent().parent().parent().next()[0];
|
||||||
$(element2).css("display", "");
|
// $(element2).css("display", "");
|
||||||
} else {
|
// } else {
|
||||||
var element = $(this).parent().next()[0];
|
// var element = $(this).parent().next()[0];
|
||||||
$(element).css("display", "none");
|
// $(element).css("display", "none");
|
||||||
var element2 = $(this).parent().parent().parent().next()[0];
|
// var element2 = $(this).parent().parent().parent().next()[0];
|
||||||
$(element2).css("display", "none");
|
// $(element2).css("display", "none");
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
$('input[name="waiverofpreexistingdiseases"]').change(function() {
|
$('input[name="waiverofpreexistingdiseases"]').change(function() {
|
||||||
|
|||||||
@ -14,10 +14,12 @@
|
|||||||
"ext-intl": "*",
|
"ext-intl": "*",
|
||||||
"ext-json": "*",
|
"ext-json": "*",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
|
"firebase/php-jwt": "^6.10",
|
||||||
"google/apiclient": "^2.15.0",
|
"google/apiclient": "^2.15.0",
|
||||||
"laminas/laminas-escaper": "^2.9",
|
"laminas/laminas-escaper": "^2.9",
|
||||||
"phpoffice/phpspreadsheet": "^2.0",
|
"phpoffice/phpspreadsheet": "^2.0",
|
||||||
"psr/log": "^1.1"
|
"psr/log": "^1.1",
|
||||||
|
"slim/slim": "^4.13"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"codeigniter/coding-standard": "^1.7",
|
"codeigniter/coding-standard": "^1.7",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user