上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