Kinopyo Blog

プログラマとしてRuby, Rails, iPhone, iPad,Macなどなどと向き合う日々のログポース

Archive for the ‘Mixi’ Category

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

2011年08月10日

現象

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を検証しないようにしました。

参考リンク

同じ現象にあった方がいました: Mixi OAuth POST時のシグネチャ検証 – phantasmistの日記

OAuth Signatureの検証方法について << mixi Developer Center (ミクシィ デベロッパーセンター)

ページ遷移とAPIアクセス << mixi Developer Center (ミクシィ デベロッパーセンター)

OAuth Core 1.0

OAuth Core 1.0a