プロジェクト

全般

プロフィール

Bug(バグ) #1574

未完了

同梱されている OAuth.php が古いので差し替える

Naoya Tozuka さんが約14年前に追加. 12年以上前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2010-09-09
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
Yes
3.8 で発生するか:

説明

OpenPNE3で使われている、http://oauth.googlecode.com/svn/code/php/OAuth.php で配布されているphp版OAuthクラスの過去の実装において、クエリパラメータのソート順がOAuth仕様に沿っていない為、最新の OAuth.php(少なくともこの問題について修正が施された2010/6/12以降のもの)に差し替えるのが適当と思われます。

背景

OAuth Signatureの生成時のクエリパラメータのソート順について、仕様書(http://oauth.net/core/1.0/#signing_process 参照)では

Parameters are sorted by name, using lexicographical byte value ordering. If two or more parameters share the same name, they are sorted by their value.

と定義されています。

同じパラメータ名を使うものが複数ある場合のソート順について、古いOAuth.phpではこの仕様に対し、パラメータの値を「値順(数値なら小さい順)」でソートする実装となっています。
2010/06/12以降のOAuth.phpでは、パラメータの値を(パラメータ名のソート同様)辞書順でソートするように修正されています。(誤解を生みやすい仕様記述かと思いますが、最新版で採用されているこの実装が正しいようです)
http://code.google.com/p/oauth/issues/detail?id=164

このため、古い OAuth.php を利用する場合、正しくないsignatureを生成してしまったり、正しいsignatureを正しくないとしてしまう可能性があります。

他の形式にエクスポート: Atom PDF