簡體   English   中英

PHP OAuthProvider :: reportProblem“ oauth_parameters_absent”,但是有參數

[英]PHP OAuthProvider :: reportProblem “oauth_parameters_absent” but parameters are there

我已按照以下准則在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-tokens

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

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

我的標題如下:

授權:OAuth oauth_consumer_key =“ key”,oauth_token =“ qwerty”,oauth_signature_method =“ HMAC-SHA1”,oauth_timestamp =“ 1453821463”,oauth_nonce =“ Iu5qXE”,oauth_version =“ 1.0”,oauth_signature =“ KOn7AfMCpZiZ1J1T

我的所有標頭都顯示在請求標頭中,但並不表示沒有其他任何參數,例如versionoauth_token

我已嘗試四處搜尋並不斷撓頭,不勝感激。

謝謝。

不知道這是否會幫助其他人,但我發現了解決方案的問題:

當我第一次實例化OAuthProvider()時(根據文檔),它大叫我在構造函數中提供簽名方法,所以我做到了。 經過數天的努力,試圖弄清為什么這總是給我帶來錯誤,我像上面的參考文獻一樣從構造函數中刪除了簽名方法參數。

進行此更改后,一切似乎都已解決。.我不確定為什么會發生這種情況,但現在並不會出錯,並使用其oauth參數設置了$ provider。

我的代碼:

$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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM