*
*/
-define('TOKEN_DURATION', 300);
+define('REQUEST_TOKEN_DURATION', 300);
+define('ACCESS_TOKEN_DURATION', 31536000);
require_once("library/OAuth1.php");
require_once("library/oauth2-php/lib/OAuth2.inc");
dbesc($sec),
dbesc($consumer->key),
'request',
- intval(TOKEN_DURATION));
+ intval(REQUEST_TOKEN_DURATION));
if (!$r) return null;
return new OAuthToken($key,$sec);
}
$ret=Null;
- if (!is_null($token) && $token->expires > time()){
+ // get verifier for this user
+ $uverifier = get_pconfig(local_user(), "oauth", "verifier");
+
+
+ if (is_null($verifier) || ($verifier==$uverifier)){
$key = $this->gen_token();
$sec = $this->gen_token();
dbesc($sec),
dbesc($consumer->$key),
'access',
- intval(TOKEN_DURATION));
+ intval(ACCESS_TOKEN_DURATION));
if ($r)
$ret = new OAuthToken($key,$sec);
}
- q("DELETE FROM tokens WHERE id='%s'", $token->key);
+ //q("DELETE FROM tokens WHERE id='%s'", $token->key);
+
+
+ if (!is_null($ret)){
+ //del_pconfig(local_user(), "oauth", "verifier");
+ $apps = get_pconfig(local_user(), "oauth", "apps");
+ if ($apps===false) $apps=array();
+ $apps[] = $consumer->key;
+ //set_pconfig(local_user(), "oauth", "apps", $apps);
+ }
return $ret;
$app = oauth_get_client();
if (is_null($app)) return "Invalid request. Unknown token.";
$consumer = new OAuthConsumer($app['key'], $app['secret']);
-
- // Rev A change
- $request = OAuthRequest::from_request();
- $callback = $request->get_parameter('oauth_callback');
- $datastore = new FKOAuthDataStore();
- $new_token = $datastore->new_request_token($consumer, $callback);
+
+ $verifier = md5($app['secret'].local_user());
+ set_pconfig(local_user(), "oauth", "verifier", $verifier);
$tpl = get_markup_template("oauth_authorize_done.tpl");
$o = replace_macros($tpl, array(
'$title' => t('Authorize application connection'),
'$info' => t('Return to your app and insert this Securty Code:'),
- '$code' => $new_token->key,
+ '$code' => $verifier,
));
return $o;