- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mixiアプリモバイルOAuth Signatur)
mixiアプリモバイルOAuth Signatureの検証方法とは?
このQ&Aのポイント
- mixiアプリモバイルにおいてgpsから位置情報を取得した際のOAuth Signatureの検証方法について教えてください。
- mixi Developer Centerの記述サンプルに従い、指定のURLをリンクに設定しましたが、OAuth Signatureの検証に失敗しています。
- gpsからのコールバック時にoauth_signatureと生成したsignature値が一致しない問題が発生しています。詳しい方にアドバイスをお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 現在、gpsからのコールバックでなければ、 > oauth_signatureと生成したsignature値が一致するので、 ということなので、ひとつの可能性を。 [1] を見たところ、lat と lon には "+" または "-" の記号が含まれているようですが、この記号はちゃんと処理されているでしょうか。 例えば、受け取った query 文字列はパーセントエンコードされている状態ですので、出コードする必要があります。 また、OAuth のシグニチャを生成する前にパラメータをまとめて文字列を生成しますが、そのときには OAuth の仕様にそった形でパーセントエンコードしなければいけません。 もし、既にちゃんとされているのでしたらすみません。 [1] http://developer.mixi.co.jp/appli/spec/mob/get_gps_info/
お礼
ありがとうございました。 mixi側からくるoauth_signatureの値ですが、 urlエンコードされたパラメータで、oauth_signatureを作成しているみたいです。 (多分なのですが。) ですので、SAPサーバ側では、urlエンコードされたパラメータで、signatureを作成しないと いけないようなのですが、HttpServletRequest.getParameter(パラメータ名) でデコードした値でsignatureを作成していたため、 lat と lon の パラメータ値が、+になり、 それが原因正しくsignatureが生成されなかったようです。 おかげで、なんとかできました。 ありがとうございました。