2016-01-26 24 views
2

我已經在Zend Framework2中建立了一個OAuthProvider,遵循這裏的指導:https://toys.lerdorf.com/archives/55-Writing-an-OAuth-Provider-Service.html和這裏:http://www.lornajane.net/posts/2011/php-oauth-provider-request-tokensPHP OAuthProvider :: reportProblem「oauth_parameters_absent」但有參數

一旦我添加行$this->provider->checkOAuthRequest();我得到一個錯誤的請求:

400錯誤的請求:oauth_problem = parameter_absent & oauth_parameters_absent = oauth_consumer_key%26oauth_signature%26oauth_nonce%26oauth_timestamp

我的標題是如下:

授權: OAuth oauth_consume r_key = 「鍵」,組oauth_token = 「QWERTY」,oauth_signature_method = 「HMAC-SHA1」,oauth_timestamp = 「1453821463」,oauth_nonce = 「Iu5qXE」,oauth_version = 「1.0」,oauth_signature = 「KOn7AfMCpRCi1Tei1jMLiZ2eZmo%3D」`

我的頭的所有請求頭露面,並且它沒有說任何其他參數都沒有像versionoauth_token

我試圖摸索和不斷抓我的頭,任何幫助表示讚賞。

謝謝。

+0

似乎令牌不需要,因爲我有'is2LeggedEndpoint'集,一旦取消令牌oauth_parameters_absent顯示出來 – Jeremy

回答

0

不知道這是否會幫助別人,但我發現這個問題,以我的解決方案:

當我實例化的OAuthProvider()在第一時間(按照文檔)是我大聲吼叫,以提供在構造一個簽名方法, 所以我做了。後抓我的頭,試圖找出爲什麼這個不停地給我錯誤的日子裏,我移除了像上面的引用的構造方法的簽名參數。

在此之後改變一切似乎已經解決了自己了..我不知道,爲什麼發生這種情況,但它並不在我現在回錯誤,並設置其參數的OAuth的$提供商。

我的代碼:

$provider = new OAuthProvider(); 
$provider->consumerHandler(array($this,'lookupConsumer')); 
$provider->timestampNonceHandler(array($this,'lookupNonce')); 
$provider->tokenHandler(array($this,'lookupToken')); 
$provider->setRequestTokenPath('/oauth/request-token'); 
$provider->checkOAuthRequest(); 
相關問題