public function testBearerAuthListener()
 {
     $request = new Message\Request();
     $this->assertEmpty($request->getHeader('Authorization'));
     $listener = new BearerAuthListener('superSecretAccessTokenGeneratedByTheNsaItself');
     $listener->preSend($request);
     $this->assertEquals('Bearer superSecretAccessTokenGeneratedByTheNsaItself', $request->getHeader('Authorization'));
 }
 public function testBasicAuthHeader()
 {
     $request = new Message\Request();
     $this->assertEmpty($request->getHeader('Authorization'));
     $listener = new BasicAuthListener('foo', 'bar');
     $listener->preSend($request);
     $this->assertEquals('Basic ' . base64_encode('foo:bar'), $request->getHeader('Authorization'));
 }
Beispiel #3
0
 /**
  *
  * @param \Buzz\Message\Request $request
  * @return boolean
  */
 public function isRequestCacheable(Request $request)
 {
     if (!$this->isHTTPMethodCacheable($request->getMethod())) {
         return false;
     }
     //[rfc2616-14.8]
     if ($request->getHeader("authorization")) {
         return false;
     }
     return true;
 }
 public function testDigestAuthHeader()
 {
     $request = new Message\Request();
     $request->setMethod('GET');
     $request->setResource('/auth-digest');
     $request->setHost('http://test.webdav.org');
     $request->setProtocolVersion('1.1');
     $response = new Message\Response();
     $response->setHeaders(array("Date: Wed, 24 Jun 2015 21:49:39 GMT", "Server: Apache/2.0.54 (Debian GNU/Linux) DAV/2 SVN/1.3.2", "WWW-Authenticate: Digest realm=\"test\", nonce=\"5PvRe0oZBQA=874ad6aea3519069f30dfc704e594dde6e01b2a6\", algorithm=MD5, domain=\"/auth-digest/\", qop=\"auth\"", "Content-Length: 401", "Content-Type: text/html; charset=iso-8859-1"));
     $response->setContent("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>401 Authorization Required</title>\n</head><body>\n<h1>Authorization Required</h1>\n<p>This server could not verify that you\nare authorized to access the document\nrequested.  Either you supplied the wrong\ncredentials (e.g., bad password), or your\nbrowser doesn\\'t understand how to supply\nthe credentials required.</p>\n</body></html>");
     // Simulate the First Request/Response, where the server returns 401
     $listener = new DigestAuthListener('user1', 'user1');
     $listener->preSend($request);
     $listener->postSend($request, $response);
     // Simulate sending the second Request using the calculated Authorization Header
     $request = new Message\Request();
     $request->setMethod('GET');
     $request->setResource('/auth-digest');
     $request->setHost('http://test.webdav.org');
     $request->setProtocolVersion('1.1');
     $this->assertEmpty($request->getHeader('Authorization'));
     $listener->preSend($request);
     $this->assertEquals('Digest username="******", realm="test", nonce="5PvRe0oZBQA=874ad6aea3519069f30dfc704e594dde6e01b2a6", response="b2cf05a5d3f51d84a8866309aed6cb5d", uri="/auth-digest"', $request->getHeader('Authorization'));
 }
 protected function getCanonicalHeaders(Request $request)
 {
     $headers = array_filter($this->headersToSign, function ($header) {
         return false !== $request->getHeader($header);
     });
     $data = [];
     foreach ($headers as $header) {
         $data[strtolower($header)] = str_replace('/\\s+/', ' ', $request[$header]);
     }
     return implode('\\t', $data);
 }