/** * Creates object from $parsedResponse. * * @param array $parsedResponse JSON response parsed into array. * * @return WindowsAzure\Common\Models\OAuthAccessToken */ public static function create($parsedResponse) { $result = new OAuthAccessToken(); $result->setAccessToken($parsedResponse[Resources::OAUTH_ACCESS_TOKEN]); $result->setExpiresIn($parsedResponse[Resources::OAUTH_EXPIRES_IN] + time()); $result->setScope($parsedResponse[Resources::OAUTH_SCOPE]); return $result; }
/** * Returns authorization header to be included in the request. * * @param array $headers request headers. * @param string $url reuqest url. * @param array $queryParams query variables. * @param string $httpMethod request http method. * * @see Specifying the Authorization Header section at * http://msdn.microsoft.com/en-us/library/windowsazure/dd179428.aspx * * @return string */ public function getAuthorizationHeader($headers, $url, $queryParams, $httpMethod) { if ($this->accessToken == null || $this->accessToken->getExpiresIn() < time()) { $this->accessToken = $this->oauthService->getAccessToken($this->grantType, $this->accountName, $this->accountKey, $this->scope); } return Resources::OAUTH_ACCESS_TOKEN_PREFIX . $this->accessToken->getAccessToken(); }
/** * Get OAuth access token. * * @param string $grantType OAuth request grant_type field value. * @param string $clientId OAuth request clent_id field value. * @param string $clientSecret OAuth request clent_secret field value. * @param string $scope OAuth request scope field value. * * @return WindowsAzure\Common\Internal\Models\OAuthAccessToken */ public function getAccessToken($grantType, $clientId, $clientSecret, $scope) { $method = Resources::HTTP_POST; $headers = array(); $queryParams = array(); $postParameters = array(); $statusCode = Resources::STATUS_OK; $postParameters = $this->addPostParameter($postParameters, Resources::OAUTH_GRANT_TYPE, $grantType); $postParameters = $this->addPostParameter($postParameters, Resources::OAUTH_CLIENT_ID, $clientId); $postParameters = $this->addPostParameter($postParameters, Resources::OAUTH_CLIENT_SECRET, $clientSecret); $postParameters = $this->addPostParameter($postParameters, Resources::OAUTH_SCOPE, $scope); $response = $this->send($method, $headers, $queryParams, $postParameters, Resources::EMPTY_STRING, $statusCode); return OAuthAccessToken::create($this->dataSerializer->unserialize($response->getBody())); }
/** * @covers WindowsAzure\Common\Models\OAuthAccessToken::getScope * @covers WindowsAzure\Common\Models\OAuthAccessToken::setScope */ public function testGetSetScope() { // Setup $sample = TestResources::getTestOAuthAccessToken(); // Test $actual = new OAuthAccessToken(); $actual->setScope($sample[Resources::OAUTH_SCOPE]); // Assert $this->assertEquals($sample[Resources::OAUTH_SCOPE], $actual->getScope()); }