sou novo aqui e estou quebrando a cabeça com uma questão. Eu estou integrando um serviço de uma empresa ao meu site, por SOAP. Eles me enviaram tudo que é preciso para fazer uma requisição POST...mas nunca fiz isso no PHP. Olhei na documentação do site do PHP mas tambem não tive muito sucesso. Já pesquisei bastante na internet mas continuo sem saber o que fazer.
Alguém sabe de algum tutorial bom que ensina TUDO sobre PHP Rest usando JSON? Ou teria como me ensinar?
Estou procurando, porém o que acho sobre isso é muito vago.
Será que alguém poderia me ajudar, tenho uma prova terça para entrar em uma empresa.
Boa galera, estou desenvolvendo um Web Services e estou tendo problemas com a camada de segurança, já fiz a implementação da autenticação via Digest, agora só falta o tal do token que não sei como gera isso, gostaria de mais informação sobre token com Digest. se vocês tiverem uma documentação pratica exemplos eu agradeço.
o sistema vai funcionar assim: Cliente HTML5 estou usando o pluguin digest-ajax para autenticação
$(".frm_voce").submit(function (e) {
e.preventDefault();
var url = "http://server.php";
$.ajaxDigest(url, {
username: 'admin',
password: 'pass'
}).done(function (data, textStatus, jqXHR) {
alert("OK");
}).fail(function (jqXHR, textStatus, errorThrown) {
alert("Erro");
}
});
Servidor PHP
$username = 'admin1';
$password = 'pass';
$realm = 'exemplo';
$nonce = md5(uniqid());
$opaque = md5(uniqid());
$valid = false;
$headers = getallheaders();
if (array_key_exists('Authorization', $headers)) {
$authHeader = substr($headers['Authorization'], strlen('Digest'));
$parsed = array();
foreach (explode(',', $authHeader) as $pair) {
$vals = explode('=', $pair);
$parsed[trim($vals[0])] = trim($vals[1], '" ');
}
$A1 = md5("$username:" . $parsed['realm'] . ":$password");
$A2 = md5($_SERVER['REQUEST_METHOD'] . ':' . $parsed['uri']);
$response = md5("$A1:" . $parsed['nonce'] . ":$A2");
$valid = ($response == $parsed['response']);
}
if (!$valid) {
header('HTTP/1.1 401 Unauthorized');
header('Content-Type: text/html');
header(sprintf('WWW-Authenticate: Digest realm="%s", nonce="%s", opaque="%s"', $realm, $nonce, $opaque));
echo 'erro.';
exit();
}
else {
print 'ok';
}
Onde entra o tal do token nisso tudo? Como é armazenado o mesmo lado cliente e do lado servidor? Obrigado