implementación de token para post, put, delete

Pendientes: update, y usar función actualizarToken
respuestas.class.php: agregada función error_401
This commit is contained in:
devfzn 2023-03-25 02:40:05 -03:00
parent 1370cec5c3
commit 42771264b5
Signed by: devfzn
GPG Key ID: E070ECF4A754FDB1
2 changed files with 121 additions and 53 deletions

View File

@ -14,7 +14,8 @@ class pacientes extends conexion{
private $telefono = ""; private $telefono = "";
private $fecha_nacimiento = "0000-00-00"; private $fecha_nacimiento = "0000-00-00";
private $correo = ""; private $correo = "";
private $token = "";
// 532c75dac0f7f4d311300302538ab49f
public function listaPacientes($pagina = 1){ public function listaPacientes($pagina = 1){
// paginador // paginador
@ -39,6 +40,14 @@ class pacientes extends conexion{
public function post($json){ public function post($json){
$_respuestas = new respuestas; $_respuestas = new respuestas;
$datos = json_decode($json, true); $datos = json_decode($json, true);
// validación token
if (!isset($datos['token'])){
return $_respuestas->error_401();
} else {
$this->token = $datos['token'];
$arrayToken = $this->buscarToken();
if ($arrayToken){
if (!isset($datos['nombre']) || !isset($datos['dni']) || !isset($datos['correo'])){ if (!isset($datos['nombre']) || !isset($datos['dni']) || !isset($datos['correo'])){
return $_respuestas->error_400(); return $_respuestas->error_400();
} else { } else {
@ -61,6 +70,11 @@ class pacientes extends conexion{
return $_respuestas->error_500(); return $_respuestas->error_500();
} }
} }
} else {
return $_respuestas->error_401("Token inválido o caducado");
}
}
} }
private function insertarPaciente(){ private function insertarPaciente(){
@ -80,6 +94,14 @@ class pacientes extends conexion{
public function put($json){ public function put($json){
$_respuestas = new respuestas; $_respuestas = new respuestas;
$datos = json_decode($json, true); $datos = json_decode($json, true);
// validación token
if (!isset($datos['token'])){
return $_respuestas->error_401();
} else {
$this->token = $datos['token'];
$arrayToken = $this->buscarToken();
if ($arrayToken){
if (!isset($datos['pacienteid'])){ if (!isset($datos['pacienteid'])){
return $_respuestas->error_400(); return $_respuestas->error_400();
} else { } else {
@ -105,6 +127,10 @@ class pacientes extends conexion{
return $_respuestas->error_500(); return $_respuestas->error_500();
} }
} }
} else {
return $_respuestas->error_401("Token inválido o caducado");
}
}
} }
private function modificarPaciente(){ private function modificarPaciente(){
@ -125,11 +151,18 @@ class pacientes extends conexion{
public function delete($json){ public function delete($json){
$_respuestas = new respuestas; $_respuestas = new respuestas;
$datos = json_decode($json, true); $datos = json_decode($json, true);
// validación token
if (!isset($datos['token'])){
return $_respuestas->error_401();
} else {
$this->token = $datos['token'];
$arrayToken = $this->buscarToken();
if ($arrayToken){
if (!isset($datos['pacienteid'])){ if (!isset($datos['pacienteid'])){
return $_respuestas->error_400(); return $_respuestas->error_400();
} else { } else {
$this->pacienteid = $datos['pacienteid']; $this->pacienteid = $datos['pacienteid'];
$resp = $this->eliminarPaciente(); $resp = $this->eliminarPaciente();
if ($resp){ if ($resp){
$respuesta = $_respuestas->response; $respuesta = $_respuestas->response;
@ -142,6 +175,10 @@ class pacientes extends conexion{
return $_respuestas->error_500(); return $_respuestas->error_500();
} }
} }
} else {
return $_respuestas->error_401("Token inválido o caducado");
}
}
} }
private function eliminarPaciente(){ private function eliminarPaciente(){
@ -153,6 +190,29 @@ class pacientes extends conexion{
return 0; return 0;
} }
} }
private function buscarToken(){
$query = "SELECT TokenId,UsuarioId,Estado FROM usuarios_token
WHERE Token = '$this->token' AND Estado = 'Activo'";
$resp = parent::obtenerDatos($query);
if ($resp){
return $resp;
} else {
return 0;
}
}
private function actualizarToken($tokenid){
$date = date("Y m d H:i");
$query = "UPDATE usuarios_token SET Fecha = '$date'
WHERE TokenId = '$tokenid'";
$resp = parent::nonQuery($query);
if ($resp >= 1){
return $resp;
} else {
return 0;
}
}
} }
?> ?>

View File

@ -42,6 +42,14 @@ class respuestas{
return $this->response; return $this->response;
} }
public function error_401($mensaje = "No autorizado"){
$this->response['status'] = "error";
$this->response['result'] = array(
"error_id" => "401",
"error_msg" => $mensaje
);
return $this->response;
}
} }
?> ?>