/** * Validate token * @param string $token Token should be gotten by $_GET["code"] from redirect. */ public function validate($token) { $this->token = $token; $urlParts = parse_url($this->token_url); $path = $urlParts["path"]; $parameters = array(); $parameters["grant_type"] = "authorization_code"; $parameters["code"] = $token; $parameters["client_id"] = $this->client_id; $parameters["client_secret"] = $this->client_secret; $parameters["redirect_uri"] = $this->callback; $client = new MOXMAN_Http_HttpClient($urlParts["scheme"] . "://" . $urlParts["host"]); $client->setLogLevel(0); $request = $client->createRequest($path, "POST"); $response = $request->send($parameters); $body = $response->getBody(); $client->close(); $data = json_decode($body); $this->refresh_token = $data->refresh_token; $this->token = $data->access_token; $this->expires = $data->expires_in; $this->id_token = $data->id_token; return $data; }