/** * Make a curl request to the SSO server * * @param AbstractRequest $request * @return ServerResponse */ public function call(AbstractRequest $request) { $url = $this->buildUrlFromRequestObject($request); $response = $this->client->get($url); if ($response->getStatusCode() === 200) { $responseObject = $this->requestResponseFactory->makeFromResponseBody($response->getBody()->getContents()); if ($handler = $this->getHandlerForRequest($request)) { $responseObject = $handler->handle($responseObject, $request); } return $responseObject; } return $this->requestResponseFactory->makeFailedResponse(); }
/** * Check if the ticket is still valid * * @param ValidateRequest $validateRequest * @return bool */ public function validate(ValidateRequest $validateRequest) { if ($response = $this->broker->call($validateRequest)) { return $this->responseFactory->makeFromValidateResponse($response)->isValid(); } return false; }