/** * @param string $path * @return \CultuurNet\Auth\Session */ public static function read($path) { if (!file_exists($path)) { return new Session(); } $json = file_get_contents($path); if (!$json) { return new Session(); } $data = json_decode($json); // @todo Throw an exception if unable to parse. if (null === $data && JSON_ERROR_NONE !== json_last_error()) { } self::validateSchema($data, $path); $session = new Session(); if (isset($data->baseUrls)) { foreach (get_object_vars($data->baseUrls) as $api => $baseUrl) { $session->setBaseUrl($api, $baseUrl); } } if (isset($data->consumer)) { $consumer = new ConsumerCredentials(); $consumer->setKey($data->consumer->key); $consumer->setSecret($data->consumer->secret); $session->setConsumerCredentials($consumer); } if (isset($data->user)) { $tokenCredentials = new TokenCredentials($data->user->token, $data->user->secret); $user = new User($data->user->id, $tokenCredentials); $session->setUser($user); } return $session; }
/** * @param string $baseUrl * @param ConsumerCredentials $consumerCredentials * @param TokenCredentials $tokenCredentials * * @return Client */ public function createClient($baseUrl, ConsumerCredentials $consumerCredentials, TokenCredentials $tokenCredentials = null) { $oAuthConfig = array('consumer_key' => $consumerCredentials->getKey(), 'consumer_secret' => $consumerCredentials->getSecret()); if ($tokenCredentials instanceof TokenCredentials) { $oAuthConfig += array('token' => $tokenCredentials->getToken(), 'token_secret' => $tokenCredentials->getSecret()); } $oAuth = new OAuth($oAuthConfig); $requestFactory = new JavaHttpRequestFactory(); $client = new Client(); $client->setBaseUrl($baseUrl)->addSubscriber($oAuth)->setRequestFactory($requestFactory); foreach ($this->subscribers as $subscriber) { $client->addSubscriber($subscriber); } return $client; }
/** * @param AccessToken $userAccessToken * @return \CultureFeed_DefaultOAuthClient */ private function createOAuthClient(AccessToken $userAccessToken) { return new \CultureFeed_DefaultOAuthClient($this->consumerCredentials->getKey(), $this->consumerCredentials->getSecret(), $userAccessToken->getTokenCredentials()->getToken(), $userAccessToken->getTokenCredentials()->getSecret()); }