Jump to content

Crepusculo de aço

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Comum

About Crepusculo de aço

  1. Crepusculo de aço

    Autenticação via token Web Services

    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
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.