/** * Fetches a set of access credentials from the server. * * @param ehough_coauthor_api_v1_Credentials $clientCredentials * @param ehough_coauthor_api_v1_AbstractServer $server * @param ehough_coauthor_api_v1_Credentials $temporaryCredentials * @param string $verificationCode * * @return ehough_coauthor_api_v1_Credentials * * @throws ehough_coauthor_api_exception_RuntimeException If unable to retrieve the credentials for any reason. */ public function fetchToken(ehough_coauthor_api_v1_Credentials $clientCredentials, ehough_coauthor_api_v1_AbstractServer $server, ehough_coauthor_api_v1_Credentials $temporaryCredentials, $verificationCode) { /** * Build an HTTP request. */ $httpRequest = new ehough_shortstop_api_HttpRequest(ehough_shortstop_api_HttpRequest::HTTP_METHOD_POST, $server->getTokensEndpoint()); /** * Sign it using our client *and* temporary credentials. */ $this->_signer->signForAccessTokenRequest($httpRequest, $clientCredentials, $temporaryCredentials, $verificationCode); /** * Fetch the token. */ return $this->_fetchCredentialsFromRemote($httpRequest, $server); }
/** * @param ehough_shortstop_api_HttpRequest $request * @param ehough_coauthor_api_v1_Credentials $clientCredentials * @param ehough_coauthor_api_v1_Credentials $tokenCredentials * * @return void * * @throws ehough_coauthor_api_exception_RuntimeException If anything fails. */ public function signRequest(ehough_shortstop_api_HttpRequest $request, ehough_coauthor_api_v1_Credentials $clientCredentials, ehough_coauthor_api_v1_Credentials $tokenCredentials = null) { $this->_signer->sign($request, $clientCredentials, $tokenCredentials); }