PHP Extensionを使用して OAuth プロバイダーを作成しました。これは私の開発環境では問題なく動作しますが、ステージング サーバーに移動した後もエラー メッセージが表示され続けます。
oauth_problem=signature_method_rejected
ステージング サーバー上でテスト スクリプトを使用して接続し、それ自体に接続し、開発サーバーはステージング サーバーに接続し、PHP OAuth 拡張機能と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
(読みやすくするために改行を入れています)
ご覧のとおり、署名方法は有効です (仕様に記載されている他の方法を試しましたが、ステージング サーバーでも開発サーバーでも機能しませんでした。
誰かが前にこのようなものに出くわしたことがありますか? さらに情報が必要な場合は、お知らせください。