a
This commit is contained in:
parent
852ee5f285
commit
8a9374621f
|
|
@ -855,15 +855,14 @@
|
|||
$.ajax({
|
||||
url: '/Contestation/verify_facial_api.php',
|
||||
method: 'POST',
|
||||
// contentType: 'application/json',
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({
|
||||
action: 'verify_face',
|
||||
token: verificationToken,
|
||||
// image: capturedImage
|
||||
image: base64Only,
|
||||
csrf_token: v_csrf_token
|
||||
}),
|
||||
// dataType: 'json',
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
if (data.success && data.match) {
|
||||
showSuccess(data);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ header('Content-Type: application/json');
|
|||
|
||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||
ob_end_clean();
|
||||
echo json_encode(['success' => false, 'message' => 'Méthode non autorisée']);
|
||||
echo json_encode(['success' => false, 'message' => 'Méthode non autorisée / Unauthorized method']);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ class FacialVerificationAPI {
|
|||
if (!$request) {
|
||||
return [
|
||||
'success' => false,
|
||||
'message' => 'Lien expiré ou invalide'
|
||||
'message' => 'Lien expiré ou invalide / Expired or invalid link'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -49,23 +49,15 @@ class FacialVerificationAPI {
|
|||
error_log("Erreur validateToken: " . $e->getMessage());
|
||||
return [
|
||||
'success' => false,
|
||||
'message' => 'Erreur serveur'
|
||||
'message' => 'Erreur serveur / Server error'
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Compare deux visages avec l'API de reconnaissance faciale
|
||||
* Utilisez Azure Face API, AWS Rekognition, ou une solution locale
|
||||
*/
|
||||
private function compareFaces($referenceImagePath, $capturedImageBase64) {
|
||||
//AWS Rekognition
|
||||
return $this->compareWithAWSRekognition($referenceImagePath, $capturedImageBase64);
|
||||
}
|
||||
|
||||
/**
|
||||
* Comparaison avec AWS Rekognition (Alternative)
|
||||
*/
|
||||
private function compareWithAWSRekognition($referenceImagePath, $capturedImageBase64) {
|
||||
try {
|
||||
require_once '/var/www/Config/Faceebene.php';
|
||||
|
|
@ -84,12 +76,11 @@ class FacialVerificationAPI {
|
|||
if (empty($result['FaceMatches'])) {
|
||||
|
||||
$this->assure_api->resultat_traitement_face($_SESSION['numeroBeneficiaire'], '0', "Les faces ne correspondent pas! / The faces do not match!");
|
||||
// $this->assure_api->resultat_traitement_face($_SESSION['numeroBeneficiaire'], '0', $message);
|
||||
|
||||
return [
|
||||
'match' => false,
|
||||
'confidence' => 0,
|
||||
'error' => 'Les visages ne correspondent pas / / The faces do not match!'
|
||||
'error' => 'Les visages ne correspondent pas / The faces do not match!'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -116,9 +107,6 @@ class FacialVerificationAPI {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie le visage capturé
|
||||
*/
|
||||
public function verifyFace($token, $capturedImageBase64) {
|
||||
try {
|
||||
// 1. Récupérer les infos de la demande
|
||||
|
|
@ -128,7 +116,7 @@ class FacialVerificationAPI {
|
|||
return [
|
||||
'success' => false,
|
||||
'match' => false,
|
||||
'message' => 'Demande expirée ou invalide'
|
||||
'message' => 'Demande expirée ou invalide / Request expired or invalid'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -140,7 +128,7 @@ class FacialVerificationAPI {
|
|||
return [
|
||||
'success' => false,
|
||||
'match' => false,
|
||||
'message' => 'Nombre maximum de tentatives atteint'
|
||||
'message' => 'Nombre maximum de tentatives atteint / Maximum number of attempts reached'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -174,7 +162,7 @@ class FacialVerificationAPI {
|
|||
'success' => true,
|
||||
'match' => true,
|
||||
'confidence' => $comparisonResult['confidence'],
|
||||
'message' => 'Identité vérifiée avec succès',
|
||||
'message' => 'Identité vérifiée avec succès / Identity successfully verified',
|
||||
];
|
||||
} else {
|
||||
$attemptsRemaining = $this->maxAttempts - ($request['attempts'] + 1);
|
||||
|
|
@ -187,7 +175,7 @@ class FacialVerificationAPI {
|
|||
'success' => false,
|
||||
'match' => false,
|
||||
'confidence' => $comparisonResult['confidence'],
|
||||
'message' => 'Votre visage ne correspond pas',
|
||||
'message' => 'Votre visage ne correspond pas / Your face does not match',
|
||||
'attempts_remaining' => $attemptsRemaining
|
||||
];
|
||||
} else {
|
||||
|
|
@ -198,7 +186,7 @@ class FacialVerificationAPI {
|
|||
'success' => false,
|
||||
'match' => false,
|
||||
'confidence' => $comparisonResult['confidence'],
|
||||
'message' => 'Vérification échouée. Nombre maximum de tentatives atteint.',
|
||||
'message' => 'Vérification échouée. Nombre maximum de tentatives atteint. / Verification failed. Maximum number of attempts reached.',
|
||||
'attempts_remaining' => 0
|
||||
];
|
||||
}
|
||||
|
|
@ -209,7 +197,7 @@ class FacialVerificationAPI {
|
|||
return [
|
||||
'success' => false,
|
||||
'match' => false,
|
||||
'message' => 'Erreur lors de la vérification Exception : ' . $e->getMessage()
|
||||
'message' => 'Erreur / Error : ' . $e->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -222,12 +210,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
$csrf_token = $input['csrf_token'] ?? null;
|
||||
|
||||
if (!isset($csrf_token)) {
|
||||
echo json_encode(['success' => false, 'message' => 'Mauvaise session! Absence']);
|
||||
echo json_encode(['success' => false, 'message' => 'Mauvaise session! / Bad session!']);
|
||||
exit;
|
||||
}
|
||||
|
||||
if (!Csrf::validateToken($csrf_token)) {
|
||||
echo json_encode(['success' => false, 'message' => 'Mauvaise session! No much']);
|
||||
echo json_encode(['success' => false, 'message' => 'Mauvaise session! / Bad session!']);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
|
@ -239,7 +227,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
case 'validate_token':
|
||||
$token = $input['token'] ?? null;
|
||||
if (!$token) {
|
||||
echo json_encode(['success' => false, 'message' => 'Token requis']);
|
||||
echo json_encode(['success' => false, 'message' => 'Token requis / Token required']);
|
||||
exit;
|
||||
}
|
||||
echo json_encode($api->validateToken($token));
|
||||
|
|
@ -250,16 +238,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
$image = $input['image'] ?? null;
|
||||
|
||||
if (!$token || !$image) {
|
||||
echo json_encode(['success' => false, 'message' => 'Token et image requis']);
|
||||
echo json_encode(['success' => false, 'message' => 'Token et image requis / Token and image required']);
|
||||
exit;
|
||||
}
|
||||
echo json_encode($api->verifyFace($token, $image));
|
||||
break;
|
||||
|
||||
default:
|
||||
echo json_encode(['success' => false, 'message' => 'Action invalide']);
|
||||
echo json_encode(['success' => false, 'message' => 'Action invalide / Invalid action']);
|
||||
}
|
||||
} else {
|
||||
ob_end_clean();
|
||||
echo json_encode(['success' => false, 'message' => 'Méthode non autorisée']);
|
||||
echo json_encode(['success' => false, 'message' => 'Méthode non autorisée / Unauthorized method']);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user