現象
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を検証しないようにしました。
参考リンク
同じ現象にあった方がいました: