PATH:
home
/
bkunreyz
/
bcmuslimgolfers.com
/
wp-content
/
plugins
/
backup
/
com
/
lib
/
Dropbox
<?php namespace Dropbox; /** * Lets you convert OAuth 1 access tokens to OAuth 2 access tokens. First call {@link * OAuth1AccessTokenUpgrader::createOAuth2AccessToken()} to get an OAuth 2 access token. * If that succeeds, call {@link OAuth1AccessTokenUpgrader::disableOAuth1AccessToken()} * to disable the OAuth 1 access token. * * <code> * use \Dropbox as dbx; * $appInfo = dbx\AppInfo::loadFromJsonFile(...); * $clientIdentifier = "my-app/1.0"; * $oauth1AccessToken = dbx\OAuth1AccessToken(...); * * $upgrader = new dbx\OAuth1AccessTokenUpgrader($appInfo, $clientIdentifier, ...); * $oauth2AccessToken = $upgrader->getOAuth2AccessToken($oauth1AccessToken); * $upgrader->disableOAuth1AccessToken($oauth1AccessToken); * </code> */ class OAuth1Upgrader extends AuthBase { /** * Given an existing active OAuth 1 access token, make a Dropbox API call to get a new OAuth 2 * access token that represents the same user and app. * * See <a href="https://www.dropbox.com/developers/core/docs#oa1-from-oa1">/oauth2/token_from_oauth1</a>. * * @param OAuth1AccessToken $oauth1AccessToken * * @return string * The OAuth 2 access token. * * @throws Exception */ // function createOAuth2AccessToken($oauth1AccessToken) // { // OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken); // $response = self::doPost($oauth1AccessToken, "1/oauth2/token_from_oauth1"); // if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response); // $parts = RequestUtil::parseResponseJson($response->body); // if (!array_key_exists('token_type', $parts) || !is_string($parts['token_type'])) { // throw new Exception_BadResponse("Missing \"token_type\" field."); // } // $tokenType = $parts['token_type']; // if (!array_key_exists('access_token', $parts) || !is_string($parts['access_token'])) { // throw new Exception_BadResponse("Missing \"access_token\" field."); // } // $accessToken = $parts['access_token']; // if ($tokenType !== "Bearer" && $tokenType !== "bearer") { // throw new Exception_BadResponse("Unknown \"token_type\"; expecting \"Bearer\", got " // . Util::q($tokenType)); // } // return $accessToken; // } /*Dropbox api 2*/ function createOAuth2AccessToken($oauth1AccessToken) { OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken); $response = self::doPost($oauth1AccessToken, "2/auth/token/from_oauth1"); if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response); $parts = RequestUtil::parseResponseJson($response->body); if (!array_key_exists('token_type', $parts) || !is_string($parts['token_type'])) { throw new Exception_BadResponse("Missing \"token_type\" field."); } $tokenType = $parts['token_type']; if (!array_key_exists('access_token', $parts) || !is_string($parts['access_token'])) { throw new Exception_BadResponse("Missing \"access_token\" field."); } $accessToken = $parts['access_token']; if ($tokenType !== "Bearer" && $tokenType !== "bearer") { throw new Exception_BadResponse("Unknown \"token_type\"; expecting \"Bearer\", got " . Util::q($tokenType)); } return $accessToken; } /** * Make a Dropbox API call to disable the given OAuth 1 access token. * * See <a href="https://www.dropbox.com/developers/core/docs#disable-token">/disable_access_token</a>. * * @param OAuth1AccessToken $oauth1AccessToken * * @throws Exception */ // function disableOAuth1AccessToken($oauth1AccessToken) // { // OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken); // $response = self::doPost($oauth1AccessToken, "1/disable_access_token"); // if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response); // } /*Dropbox api 2*/ function disableOAuth1AccessToken($oauth1AccessToken) { OAuth1AccessToken::checkArg("oauth1AccessToken", $oauth1AccessToken); $response = self::doPost($oauth1AccessToken, "2/auth/token/revoke"); if ($response->statusCode !== 200) throw RequestUtil::unexpectedStatus($response); } /** * @param OAuth1AccessToken $oauth1AccessToken * @param string $path * * @return HttpResponse * * @throws Exception */ private function doPost($oauth1AccessToken, $path) { // Construct the OAuth 1 header. $signature = rawurlencode($this->appInfo->getSecret()) . "&" . rawurlencode($oauth1AccessToken->getSecret()); $authHeaderValue = "OAuth oauth_signature_method=\"PLAINTEXT\"" . ", oauth_consumer_key=\"" . rawurlencode($this->appInfo->getKey()) . "\"" . ", oauth_token=\"" . rawurlencode($oauth1AccessToken->getKey()) . "\"" . ", oauth_signature=\"" . $signature . "\""; return RequestUtil::doPostWithSpecificAuth( $this->clientIdentifier, $authHeaderValue, $this->userLocale, $this->appInfo->getHost()->getApi(), $path, null); } }
[-] StreamReadException.php
[edit]
[-] ArrayEntryStore.php
[edit]
[-] WriteMode.php
[edit]
[-] AuthBase.php
[edit]
[-] WebAuthBase.php
[edit]
[-] CurlStreamRelay.php
[edit]
[-] WebAuthNoRedirect.php
[edit]
[-] autoload.php
[edit]
[-] OAuth1AccessToken.php
[edit]
[-] SSLTester.php
[edit]
[-] strict.php
[edit]
[-] DeserializeException.php
[edit]
[-] DropboxMetadataHeaderCatcher.php
[edit]
[-] RequestUtil.php
[edit]
[-] AppInfoLoadException.php
[edit]
[-] Curl.php
[edit]
[+]
WebAuthException
[+]
..
[-] Security.php
[edit]
[-] AppInfo.php
[edit]
[-] AuthInfoLoadException.php
[edit]
[+]
Exception
[-] HttpResponse.php
[edit]
[-] RootCertificates.php
[edit]
[-] OAuth1Upgrader.php
[edit]
[-] ValueStore.php
[edit]
[-] AuthInfo.php
[edit]
[-] Client.php
[edit]
[-] WebAuth.php
[edit]
[-] Host.php
[edit]
[-] Checker.php
[edit]
[-] Path.php
[edit]
[-] Util.php
[edit]
[+]
certs
[-] Exception.php
[edit]