function it_set_up_request_custom_authentication_when_provided(Request $request, RequestBuilder $builder) { $this->beConstructedWith('digest'); $request->setAuth('username', 'password', 'digest')->shouldBeCalled(1); $builder->getCredentials()->shouldBeCalled()->willReturn(['username' => 'username', 'password' => 'password']); $this->secureRequest($request, $builder); }
public function secureRequest(Request $request, RequestBuilder $builder) { $credentials = $builder->getCredentials(); if (!isset($credentials['username']) || !isset($credentials['password'])) { throw new \RuntimeException('You must specified a "username" and a "password" for the http basic authentication.'); } $request->setAuth($credentials['username'], $credentials['password']); }
public function setRequestAuthentication(\Guzzle\Http\Message\Request $request) { $oauthAccessToken = $this->configuration->get('oauthAccessToken'); // Do we have an oAuth2 access token? if (!empty($oauthAccessToken)) { $request->setHeader('Authorization', 'Bearer ' . $oauthAccessToken); } else { // Otherwise, use basic authentication $request->setAuth($this->configuration->get('apiToken'), $this->configuration->get('apiSecret')); } return $request; }
/** * @When /^I request "(GET|PUT|POST|DELETE|PATCH) ([^"]*)"$/ */ public function iRequest($httpMethod, $resource) { // process any %battles.last.id% syntaxes $resource = $this->processReplacements($resource); $this->resource = $resource; // reset the response payload $this->responsePayload = null; $method = strtolower($httpMethod); try { switch ($httpMethod) { case 'PUT': case 'POST': case 'PATCH': // process any %user.weaverryan.id% syntaxes $payload = $this->processReplacements($this->requestPayload); $this->lastRequest = $this->client->{$method}($resource, null, $payload); break; default: $this->lastRequest = $this->client->{$method}($resource); } if ($this->authUser) { $this->lastRequest->setAuth($this->authUser, $this->authPassword); } foreach ($this->headers as $key => $val) { $this->lastRequest->setHeader($key, $val); } $this->response = $this->lastRequest->send(); } catch (BadResponseException $e) { $response = $e->getResponse(); // Sometimes the request will fail, at which point we have // no response at all. Let Guzzle give an error here, it's // pretty self-explanatory. if ($response === null) { throw $e; } $this->response = $e->getResponse(); } }
/** * This method seems silly, but it will be really useful if / when the * authentication scheme becomes more complex. Separating it out from the * event handler allows us to test this code more easily. * * @param \Guzzle\Http\Message\Request $request */ public function setAuth(Request $request) { $request->setAuth($this->username, $this->password); }
/** * @covers Guzzle\Http\Message\Request::getUsername * @covers Guzzle\Http\Message\Request::getPassword * @covers Guzzle\Http\Message\Request::setAuth */ public function testRequestHandlesAuthorization() { // Uninitialized auth $this->assertEquals(null, $this->request->getUsername()); $this->assertEquals(null, $this->request->getPassword()); // Set an auth $this->assertSame($this->request, $this->request->setAuth('michael', '123')); $this->assertEquals('michael', $this->request->getUsername()); $this->assertEquals('123', $this->request->getPassword()); // Remove the auth $this->request->setAuth(false); $this->assertEquals(null, $this->request->getUsername()); $this->assertEquals(null, $this->request->getPassword()); // Make sure that the cURL based auth works too $request = new Request('GET', $this->getServer()->getUrl()); $request->setAuth('michael', 'password', CURLAUTH_DIGEST); $this->assertEquals('michael:password', $request->getCurlOptions()->get(CURLOPT_USERPWD)); $this->assertEquals(CURLAUTH_DIGEST, $request->getCurlOptions()->get(CURLOPT_HTTPAUTH)); }
/** * @expectedException \Guzzle\Common\Exception\InvalidArgumentException */ public function testValidatesAuth() { $this->request->setAuth('foo', 'bar', 'bam'); }
/** * @param Guzzle\Http\Message\Request $request */ protected function configureRequest(Request $request) { $request->setAuth($this->requestContext->getUserID(), $this->requestContext->getPassword(), CURLAUTH_BASIC); }
function it_set_up_request_basic_authentication(Request $request, RequestBuilder $builder) { $request->setAuth('username', 'password')->shouldBeCalled(1); $builder->getCredentials()->shouldBeCalled()->willReturn(['username' => 'username', 'password' => 'password']); $this->secureRequest($request, $builder); }
/** * Add the authentication credentials to a request. * * @param \Guzzle\Http\Message\Request $request * @return \Guzzle\Http\Message\Request */ public function addCredentialsToRequest(Request $request) { $request->setAuth($this->token, 'x', 'basic'); return $request; }