/** * Execute operations before OAuth2 Server sends a token response. * * @param \OAuth2Server|NULL $server * @param \OAuth2\Request $request * @param \OAuth2\Response $response */ function hook_oauth2_server_token($server, \OAuth2\Request $request, \OAuth2\Response $response) { // Example: if the response is not successful, log a message. if ($response->getStatusCode() != 200) { watchdog('mymodule', 'Failed token response from server @server: @code @body', array('@server' => $server ? $server->name : NULL, '@code' => $response->getStatusCode(), '@body' => $response->getResponseBody())); } }
public function __construct(\OAuth2\Response $response) { $this->response = $response; $this->code = $response->getStatusCode(); $this->description = $response->getStatusText(); $this->message = $response->getResponseBody(); }
/** * Convert the OAuth2 response to a \Zend\Http\Response * * @param $response OAuth2Response * @return \Zend\Http\Response */ private function setHttpResponse(OAuth2Response $response) { $httpResponse = $this->getResponse(); $httpResponse->setStatusCode($response->getStatusCode()); $headers = $httpResponse->getHeaders(); $headers->addHeaders($response->getHttpHeaders()); $headers->addHeaderLine('Content-type', 'application/json'); $httpResponse->setContent($response->getResponseBody()); return $httpResponse; }
/** * Copies values from the given Oauth2\Response to a PSR-7 Http Response. * * @param OAuth2\Response $oauth2Response The OAuth2 server response. * * @return \Psr\Http\Message\ResponseInterface */ public static final function fromOauth2(OAuth2\Response $oauth2Response) { $headers = []; foreach ($oauth2Response->getHttpHeaders() as $key => $value) { $headers[$key] = explode(', ', $value); } $stream = fopen('php://temp', 'r+'); if (!empty($oauth2Response->getParameters())) { fwrite($stream, $oauth2Response->getResponseBody()); rewind($stream); } return new Response(new Stream($stream), $oauth2Response->getStatusCode(), $headers); }
/** * @param Response $response */ public function __construct(Response $response) { $this->setStatusCode($response->getStatusCode()); $this->getHeaders()->addHeader(new GenericHeader('Content-type', 'application/json'))->addHeaders($response->getHttpHeaders()); $this->setContent($response->getResponseBody('json')); }