Estoy construyendo un servicio web con Zend y tengo que autenticar a los usuarios antes de enviarles una respuesta. El usuario enviará una solicitud a una página del servidor, utilizando curl, pasando sus credenciales en el formulario de curl_setopt($curl, CURLOPT_USERPWD, 'key:pass')
;CURL HTTP Autenticación en el lado del servidor
Iam usando Zend Framework y por lo tanto la página del lado del servidor se denota como:
http://www.example.com/app_name/public/controller/action/parameter
Este es el código total para la solicitud del usuario (client.php):
<?php
$curl = curl_init('http://www.example.com/app/public/user/add/1');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERPWD, 'username:password');
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Sample Code');
$response = curl_exec($curl);
$resultStatus = curl_getinfo($curl);
if($resultStatus['http_code'] == 200) {
echo $response;
} else {
echo 'Call Failed '.print_r($resultStatus);
}
?>
Ahora lo Lo que quiero es que, debo ser capaz de recuperar el nombre de usuario y la contraseña en el lado del servidor (en mi controlador Zend), para que pueda verificar las credenciales de usuario de la base de datos y enviar la respuesta en consecuencia. Entonces, ¿cómo puedo hacer la autenticación en otra página?
Bueno, he estado utilizando CURLOPT_HTTPHEADER para el envío de los parametros en el encabezado y iam capaz de recuperarlos en el controlador, como: $ request-> getHeader ('param'); –