HR token issue

This commit is contained in:
Gowtham M 2026-02-26 15:29:10 +05:30
parent 55da3cc16c
commit 15cb0b8430
3 changed files with 18 additions and 8 deletions

View File

@ -1977,7 +1977,7 @@ class RestAuthenticationController extends AdminController
}
$decoded = $result['decoded'];
$userId = $decoded['id'] ?? null;
$userId = $decoded['pre_hr_id'] ?? null;
if (!$userId) {
return $this->respond([

View File

@ -115,9 +115,19 @@ class AuthJWT implements FilterInterface
}
// Refresh sliding expiration
$model->update($id, [
'token_time_out' => time() + getenv('TOKENTIMEOUT')
]);
$newExpiry = time() + getenv('TOKENTIMEOUT');
if (!isset($decoded['emp_code'])) {
// HR user: refresh token_time_out across all branches (same mobile/email)
// so switching branches doesn't cause an unexpected expiry
$field = !empty($user['mobile']) ? 'mobile' : 'email';
$model->where($field, $user[$field])
->where('contact_type', 'client')
->where('is_active', 1)
->update(null, ['token_time_out' => $newExpiry]);
} else {
$model->update($id, ['token_time_out' => $newExpiry]);
}
return true;
}

View File

@ -137,7 +137,7 @@ class JWTToken
$token = $jwtParts[0];
try {
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
$decoded = JWT::decode($token, new Key(env('JWT_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']);
@ -159,7 +159,7 @@ class JWTToken
$jwtParts = explode(' ', $jwt);
$token = $jwtParts[1];
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
$decoded = JWT::decode($token, new Key(env('JWT_SECRET'), 'HS512'));
return $decoded->id;
}
@ -170,7 +170,7 @@ class JWTToken
$jwtParts = explode(' ', $jwt);
$token = $jwtParts[1];
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
$decoded = JWT::decode($token, new Key(env('JWT_SECRET'), 'HS512'));
return $decoded->role;
}
@ -182,7 +182,7 @@ class JWTToken
$jwtParts = explode(' ', $jwt);
$token = $jwtParts[1];
$decoded = JWT::decode($token, new Key("secret", 'HS512'));
$decoded = JWT::decode($token, new Key(env('JWT_SECRET'), 'HS512'));
return $decoded;
}