Tumblr的Yii2 Auth客户端扩展

Nat*_*ate 6 php oauth tumblr yii2

我正在尝试在Yii2中使用Auth Client Extension(http://www.yiiframework.com/doc-2.0/ext-authclient-index.html).我复制了YiiFramework附带的Twitter Auth Client类,并制作了自己的Tumblr版本.Twitter工作正常,但是当我使用我的Tumblr版本时,我在屏幕上显示"此应用程序访问您的某些数据并将帖子发布到您的帐户之后是否正常?"您已登录为*********".(Tumblr oauth页面)

出现错误:请求失败,代码为:401,消息:oauth_signature与预期值不匹配

这是我的Tumblr auth客户端代码:


namespace yii\authclient\clients;

use yii\authclient\OAuth1;

/** * * Example application configuration: * * ~~~ * 'components' => [ * 'authClientCollection' => [ * 'class' => 'yii\authclient\Collection', * 'clients' => [ * 'tumblr' => [ * 'class' => 'yii\authclient\clients\Tumblr', * 'consumerKey' => 'tumblr_consumer_key', * 'consumerSecret' => 'tumblr_consumer_secret', * ], * ], * ] * ... * ] * ~~~ * */ class Tumblr extends OAuth1 { /** * @inheritdoc */ public $authUrl = 'https://www.tumblr.com/oauth/authorize'; /** * @inheritdoc */ public $requestTokenUrl = 'https://www.tumblr.com/oauth/request_token'; /** * @inheritdoc */ public $requestTokenMethod = 'POST'; /** * @inheritdoc */ public $accessTokenUrl = 'https://www.tumblr.com/oauth/access_token'; /** * @inheritdoc */ public $accessTokenMethod = 'GET'; /** * @inheritdoc */ public $apiBaseUrl = 'http://api.tumblr.com/v2';

/**
 * @inheritdoc
 */
protected function initUserAttributes()
{
    return $this->api('/user/info', 'GET');
}

/**
 * @inheritdoc
 */
protected function defaultName()
{
    return 'tumblr';
}

/**
 * @inheritdoc
 */
protected function defaultTitle()
{
    return 'Tumblr';
}
Run Code Online (Sandbox Code Playgroud)

}