上PHP OAuthProvider拒絕簽名方法我做了使用PHP Extension一個OAuth提供者。這工作正常,在我的開發環境,但其移動到我們的臨時服務器後,我不斷收到錯誤消息:臨時服務器
oauth_problem=signature_method_rejected
我已經通過連接到自身的臨時服務器上測試腳本,開發連接測試這服務器連接登臺服務器,並使用PHP OAuth Extension和Zend OAuth Consumer類。在任何情況下,它在連接到開發服務器時都有效,但在連接到登臺服務器時會出現上述錯誤。
通過代碼跟蹤,當OAuthProvider類被實例化,給出該錯誤。
$this->provider = new OAuthProvider();
檢查$ _ SERVER [ 'QUERY_STRING']給了我下面的:
oauth_consumer_key=6e449c12132115a9ba1cf1163c37f904&
oauth_nonce=e2ff158969b3e7213927e4a19de1b11f&
oauth_timestamp=1343990462&
oauth_signature_method=HMAC-SHA1&
oauth_version=1.0&
oauth_callback=redacted&
oauth_signature=y06YvCzVno8GSDib4%2BOeExDGWH0%3D
(插入可讀性休息)
正如你所看到的簽名方法是有效的(I」已經試過在規格中提到的其他方法,但他們並沒有任何的臨時服務器或開發服務器上工作。
有沒有人遇到過這樣的事嗎?如果任何更多的信息是必需的,請讓我知道。
啊哈,這就是問題所在!我們停止使用http身份驗證(應用於網站,但不是oauth提供商),並使用受限制的ip,現在它工作正常。 我的想法是,在訪問網站(並因此登錄到一個HTTP驗證的用戶所訪問的)我們被中斷,或以某種方式導致與OAuthProvider對象的問題。非常隱晦,斑點。謝謝。 – DanielM 2012-08-09 13:30:16