2011年8月10日

Mixiモバイルアプリ:フォームPost時のOAuth Signature検証失敗について

現象

MixiモバイルアプリのフォームからPOSTするとOAuth Signatureが不一致で検証が通らない。

デバッグ

フォームをPOSTするときはフォーム内のデータがOAuthのBase StringのNormalize Request Parametersに含まれます。
これはOAuthに仕様に準じてます(http://oauth.net/core/1.0a/#anchor13)が、
なぜかMixiだと通れないです。

<form action="?guid=ON&url=http%3A%2F%2Fexample.com%2Ffoo%2F" method="post">
  <input name="field1" type="text" value="value1" />
  <input type="submit" value="送信" />
</form>

こんなフォームがあるとして、中のfield1がNormalize Request Parametersに存在するとダメだってことが検証でわかりました。

回避方法

フォームPOSTする箇所を特定して、その場合はOAuth Signatureを検証しないようにしました。

参考リンク

同じ現象にあった方がいました:

Share on Twitter Share the post
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。

他にも英語中国語で書いてます、よろしければチェックしてみてください。