-
Notifications
You must be signed in to change notification settings - Fork 0
/
authentification.php
98 lines (66 loc) · 2.46 KB
/
authentification.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/*
* Première authentification de l'utilisateur pour la session
*/
// Préparaton des infos nécessaires pour la transaction
require_once __DIR__ . '/transaction/init_transaction.php';
// vérification de la présence des données
if (isset($_POST['identifiant']) AND isset($_POST['mot_de_passe'])) {
$uti_identifiant = $_POST['identifiant'];
$uti_mot_de_passe = $_POST['mot_de_passe'];
// vérification que l'utilisateur existe
$query = 'SELECT uti_identifiant FROM utilisateur WHERE uti_identifiant = :uti_identifiant';
$stmt = $db->database->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$stmt->execute(array(
':uti_identifiant' => $uti_identifiant
));
// si l'utilisateur existe, on vérifie si son mot de passe est valide
if($stmt->rowCount() == 1){
// vérification que le mot de passe coïncide
$query = 'SELECT uti_id, uti_droits, uti_adh_id
FROM utilisateur
WHERE uti_identifiant = :uti_identifiant
AND uti_mot_de_passe = :uti_mot_de_passe';
$stmt = $db->database->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$stmt->execute(array(
':uti_identifiant' => $uti_identifiant,
':uti_mot_de_passe' => $uti_mot_de_passe
));
// si le mot de passe est valide, on renvoie un token
if($stmt->rowCount() == 1){
// récupération des infos de l'utilisateur
$resultat = $stmt->fetchAll(PDO::FETCH_ASSOC);
$uti_id = $resultat[0]['uti_id'];
$uti_droits = $resultat[0]['uti_droits'];
$uti_adh_id = $resultat[0]['uti_adh_id'];
// génération d'un token et sauvegarde des infos de connexion de l'utilisateur
$token = user_login($uti_id, $uti_droits, $uti_adh_id);
// envoi du token
$response["success"] = 1;
$response["token"] = $token;
$response['droits'] = $uti_droits;
$response['id_adherent'] = $uti_adh_id;
$code = CODE_OK;
} else {
// pas de donnée
$response["success"] = 0;
$response["message"] = "Mot de passe invalide";
$code = CODE_NOT_FOUND;
}
} else {
// pas de donnée
$response["success"] = 0;
$response["message"] = "Utilisateur non trouvé";
$code = CODE_NOT_FOUND;
}
$stmt->closeCursor();
$db->close();
} else {
// requête invalide
$response["success"] = 0;
$response["message"] = "Requête invalide - champs manquants";
$code = CODE_BAD_REQUEST;
}
// envoi du résultat
require_once __DIR__ . '/transaction/display_result.php';
?>