Token Signature Verification ErrorResloved

This commit is contained in:
velz 2019-04-27 12:58:49 +05:30
parent 801016222f
commit ad3ca5cadc
6 changed files with 55 additions and 52 deletions

View File

@ -546,7 +546,7 @@ defined('PDPURCHASEBILLWISEID') OR define('PDPURCHASEBILLWISEID','pbw_id');
defined('PDPURCHASEBILLWISECHILD') OR define('PDPURCHASEBILLWISECHILD','t_pd_purchase_billwise_child'); defined('PDPURCHASEBILLWISECHILD') OR define('PDPURCHASEBILLWISECHILD','t_pd_purchase_billwise_child');
defined('PDPURCHASEBILLWISECHILDID') OR define('PDPURCHASEBILLWISECHILDID','pbwc_id'); defined('PDPURCHASEBILLWISECHILDID') OR define('PDPURCHASEBILLWISECHILDID','pbwc_id');
defined('PDMIS') OR define('PDMIS','PD_MIS');

View File

@ -2,9 +2,11 @@
if(ENVIRONMENT == 'development' || ENVIRONMENT == 'testing')
{
/* public key for encrypt AWS JWT SINE_EDGE_USER_POOL_ID_TOKEN /* public key for encrypt AWS JWT SINE_EDGE_USER_POOL_ID_TOKEN
*/ */
$config['jwt_public_key_sineedge_dev'] = '-----BEGIN PUBLIC KEY----- $config['jwt_public_key_sineedge'] = '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqTsyy4r3nrjumED4To7w MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqTsyy4r3nrjumED4To7w
r1rfjMEzL+hcF8OwGm89aHoEzKLZqr12uQw3eK7tVV97QV8aYOi0zUinHlOVx1PM r1rfjMEzL+hcF8OwGm89aHoEzKLZqr12uQw3eK7tVV97QV8aYOi0zUinHlOVx1PM
Dgik5jW8aCBvGM5S6PAZXn3fj59HYtKL0HIQ1cxaoIUVXjRHD/QkcCEZuG5dIxij Dgik5jW8aCBvGM5S6PAZXn3fj59HYtKL0HIQ1cxaoIUVXjRHD/QkcCEZuG5dIxij
@ -14,9 +16,11 @@ eq0HukzvikhFNglSw5GV0pK0syZxvu/ERMg3ja4r9an8fMayVS2YpybtRl6CCCVP
RwIDAQAB RwIDAQAB
-----END PUBLIC KEY-----'; -----END PUBLIC KEY-----';
/* public key for encrypt AWS JWT LENDER_USER_POOL_ID_TOKEN /* public key for encrypt AWS JWT LENDER_USER_POOL_ID_TOKEN
*/ */
$config['jwt_public_key_lender_dev'] = '-----BEGIN PUBLIC KEY----- $config['jwt_public_key_lender'] = '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkvWF8GBAVs77bKzpOtnu MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkvWF8GBAVs77bKzpOtnu
mBGQ9kC11Pqw64avOsTE8T0mEbPWCSedqP8ShZtoFRUnZbfCVYcYPkvl+Gx5nxrY mBGQ9kC11Pqw64avOsTE8T0mEbPWCSedqP8ShZtoFRUnZbfCVYcYPkvl+Gx5nxrY
OvrlKxtVVbrcifuKJJ/qjSSUZucQVX1aeWjYofteevcPjJxa5JEQWCjRSeblbbit OvrlKxtVVbrcifuKJJ/qjSSUZucQVX1aeWjYofteevcPjJxa5JEQWCjRSeblbbit
@ -28,7 +32,7 @@ DwIDAQAB
/* public key for encrypt AWS JWT VENDOR_USER_POOL_ID_TOKEN /* public key for encrypt AWS JWT VENDOR_USER_POOL_ID_TOKEN
*/ */
$config['jwt_public_key_vendor_dev'] = '-----BEGIN PUBLIC KEY----- $config['jwt_public_key_vendor'] = '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7da6/Uc4mUyLJlSptAlU MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7da6/Uc4mUyLJlSptAlU
/h2R4MJqFiN1nGUQ8IKf2peOsZGL+M5i1oc7eDvW0xFrH/L12Yf8Qp6bLqaYo9Rw /h2R4MJqFiN1nGUQ8IKf2peOsZGL+M5i1oc7eDvW0xFrH/L12Yf8Qp6bLqaYo9Rw
7T/DucgSh53/eXXmRdDBWUHZH9B6oCYc+rU9nrVPoavtrkKhWQ0A9MP9ii9sYpdZ 7T/DucgSh53/eXXmRdDBWUHZH9B6oCYc+rU9nrVPoavtrkKhWQ0A9MP9ii9sYpdZ
@ -38,7 +42,9 @@ TbScH7bQtVAEQTaHpnMpDMT1dPDk1f3IRhyJ0Q2y1h9ZOKBj4kK3EFWw80ccBCq7
rwIDAQAB rwIDAQAB
-----END PUBLIC KEY-----'; -----END PUBLIC KEY-----';
$config['sine_egde_pool_id'] = 'ap-south-1_qQ85yQZJO';
$config['lender_pool_id'] = 'ap-south-1_hFiGyr1Gw';
$config['vendor_pool_id'] = 'ap-south-1_K57yPaWxV';
/*Generated token will expire in 1 minute for sample code /*Generated token will expire in 1 minute for sample code
* Increase this value as per requirement for production * Increase this value as per requirement for production
@ -46,6 +52,13 @@ rwIDAQAB
$config['token_timeout'] = 1; $config['token_timeout'] = 1;
$config['authorization_key'] = 'sparqvenba2018'; $config['authorization_key'] = 'sparqvenba2018';
}else if(ENVIRONMENT == 'prod')
{
}
/* End of file jwt.php */ /* End of file jwt.php */
/* Location: ./application/config/jwt.php */ /* Location: ./application/config/jwt.php */

View File

@ -78,6 +78,10 @@ else if(ENVIRONMENT == 'testing')
{ {
$active_group = 'test'; $active_group = 'test';
} }
else if(ENVIRONMENT == 'production')
{
$active_group = 'prod';
}
$query_builder = TRUE; $query_builder = TRUE;
@ -128,24 +132,3 @@ $db['test'] = array(
'save_queries' => TRUE 'save_queries' => TRUE
); );
$db['prod'] = array(
'dsn' => '',
'hostname' => 'apollodec.com',
'username' => 'apollod4_DEV',
'password' => 'apollo1234',
'database' => 'apollod4_ApolloDECDev',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);

View File

@ -732,8 +732,8 @@ class PD_Controller extends REST_Controller {
$msg = "OTP for starting your personal discussions with the verification officer is ".$OTP.".Pls share this only when the officer has reached your place in person."; $msg = "OTP for starting your personal discussions with the verification officer is ".$OTP.".Pls share this only when the officer has reached your place in person.";
$no = (string)$pd_details['mobile_no']; $no = (string)$pd_details['mobile_no'];
unset($pd_details['mobile_no']); unset($pd_details['mobile_no']);
//$pd_details['OTP'] = $OTP; $pd_details['OTP'] = $OTP;
$pd_details['OTP'] = '123456'; //$pd_details['OTP'] = '123456';
// $client = new \GuzzleHttp\Client(); // $client = new \GuzzleHttp\Client();
@ -4860,7 +4860,7 @@ class PD_Controller extends REST_Controller {
if(count($rec)) if(count($rec))
{ {
$temp_data = json_decode($rec[0]['json'],true); $temp_data = json_decode($rec[0]['json'],true);
// print_r($temp_data);die();
foreach($temp_data['companies'] as $company) foreach($temp_data['companies'] as $company)
{ {

View File

@ -57,7 +57,7 @@ class JWT
throw new UnexpectedValueException('Invalid segment encoding'); throw new UnexpectedValueException('Invalid segment encoding');
} }
//print_r($header);die;
$keyid = $header->kid; $keyid = $header->kid;
if (null === $payload = JWT::jsonDecode(JWT::urlsafeB64Decode($bodyb64))) { if (null === $payload = JWT::jsonDecode(JWT::urlsafeB64Decode($bodyb64))) {
//if you don't want to disclose more details //if you don't want to disclose more details
@ -65,7 +65,7 @@ class JWT
throw new UnexpectedValueException('Invalid segment encoding'); throw new UnexpectedValueException('Invalid segment encoding');
} }
//print_r($cryptob64);die; //print_r($payload);die;
$signature = JWT::urlsafeB64Decode($cryptob64); $signature = JWT::urlsafeB64Decode($cryptob64);
//print_r($sig);die; //print_r($sig);die;
if ($verify) { if ($verify) {
@ -75,7 +75,7 @@ class JWT
//throw new DomainException('Empty algorithm'); //throw new DomainException('Empty algorithm');
} }
if ($signature != JWT::aws_sign("$headb64.$bodyb64", $signature, $header->alg)) { if ($signature != JWT::aws_sign("$headb64.$bodyb64", $signature, $header->alg,$payload)) {
throw new UnexpectedValueException('Signature verification failed'); throw new UnexpectedValueException('Signature verification failed');
} }
} }
@ -152,34 +152,41 @@ class JWT
* @return string An True or False * @return string An True or False
* @throws DomainException Unsupported algorithm was specified * @throws DomainException Unsupported algorithm was specified
*/ */
public static function aws_sign($head_body, $signature, $alg) public static function aws_sign($head_body, $signature, $alg, $payload)
{ {
$headers['From'] = 1;
$headers = getallheaders();
$CI =& get_instance(); $CI =& get_instance();
$jwtkey = ''; $jwtkey = '';
if (empty(static::$supported_algs[$alg])) { if (empty(static::$supported_algs[$alg])) {
throw new DomainException('Algorithm not supported'); throw new DomainException('Algorithm not supported');
} }
if(array_key_exists("From",$headers)){ //print_r($payload->iss);
if($headers['From'] ==2) $pool_id = explode('/', $payload->iss);
//print_r($pool_id[3]);
if(array_key_exists('3',$pool_id))
{ {
$jwtkey = $CI->config->item('jwt_public_key_lender_dev'); if($pool_id[3] == $CI->config->item('sine_egde_pool_id'))
}else if($headers['From'] !='' && $headers['From'] ==3) {
{ $jwtkey = $CI->config->item('jwt_public_key_sineedge');
$jwtkey = $CI->config->item('jwt_public_key_vendor_dev');
}else if($headers['From']!='' && $headers['From'] == 1) }else if($pool_id[3] == $CI->config->item('lender_pool_id'))
{ {
$jwtkey = $CI->config->item('jwt_public_key_sineedge_dev'); $jwtkey = $CI->config->item('jwt_public_key_lender');
}else{
$jwtkey = ''; }else if($pool_id[3] == $CI->config->item('vendor_pool_id'))
} {
}else $jwtkey = $CI->config->item('jwt_public_key_vendor');
{
$jwtkey = $CI->config->item('jwt_public_key_sineedge_dev'); }else{
$jwtkey = '';
}
}
else
{
throw new DomainException('Pool Informatin Not Available');
}
}
list($function, $algorithm) = static::$supported_algs[$alg]; list($function, $algorithm) = static::$supported_algs[$alg];

View File

@ -307,7 +307,7 @@ class PDALERTS
$logger->error("Mailer Error:" ,array($mail->ErrorInfo)); $logger->error("Mailer Error:" ,array($mail->ErrorInfo));
} else { } else {
$logger->error("Mailer Send:" ,array('mail ID' => $lender_email,'Status' => 'SEND')); $logger->info("Mailer Send:" ,array('mail ID' => $lender_email,'Status' => 'SEND'));
} }
} }