/** * Build signature * * @param String $baseString - base string * @param OAuthConsumer $consumer - consumer * @param OAuthToken $token - token * @return String */ public function build($baseString, $consumer, $token) { $keyParts = array($consumer->getSecret(), $token ? $token->getSecret() : ''); $keyParts = OAuthUtils::urlEncodeRfc3986($keyParts); $key = implode('&', $keyParts); return base64_encode(hash_hmac('sha1', $baseString, $key, true)); }
function new_access_token($token, $consumer, $verifier = null) { $c = Doctrine::getTable('sfOauthServerConsumer')->findOneByConsumerKey($consumer->key); $token = Doctrine::getTable('sfOauthServerRequestToken')->findOneByToken($token->key); $key = md5(time()); $secret = time() + time(); $accesstoken = new OAuthToken($key, md5(md5($secret))); $accesstoken = new sfOauthServerAccessToken(); $accesstoken->setToken($key); $accesstoken->setSecret(md5(md5($secret))); $accesstoken->setConsumer($c); $accesstoken->setUserId($token->getUserId()); $accesstoken->setScope($token->getScope()); $accesstoken->save(); $accesstoken = new OAuthToken($accesstoken->getToken(), $accesstoken->getSecret()); return $accesstoken; }