mixi Developer Center (ミクシィ デベロッパーセンター)

mixiアプリ

mixiアプリ » 技術仕様(Graph API方式) » スマートフォン » 起動時のパラメータとOAuth Signatureの検証

起動時のパラメータとOAuth Signatureの検証

SAPサーバへのリクエストには、実行中アプリケーションやユーザに関する情報や改ざん防止のための署名等の各種パラメータが付加されています。これらを適切に利用することにより、ソーシャルアプリケーションを安全かつ簡単に作成することができます。

起動時のパラメータ

mixiアプリの実行ページ(run_appli.pl)で、mixiアプリが起動されると run_appli.pl 内に、あらかじめ登録されたスタートURLを src とする iframe が描画されます。
この際、スタートURLへのリクエストは、以下のパラメータを含んだ署名付きのPOSTリクエストとなります。

パラメータ名 渡される値
opensocial_app_id アプリケーションID
opensocial_owner_id アプリを登録しているユーザのID (※)
opensocial_viewer_id アプリを実行しているユーザのID (※)
oauth_ または xoauth_ で始まるパラメータ 署名情報
詳細については、署名の検証 をご参照ください

※ opensocial_owner_id と opensocial_viewer_id は、ユーザ認可で r_profile を取得している場合にのみ付与されます。ユーザ認可についてはユーザ認可についての項目をご参照ください。
また、Graph API方式のmixiアプリでは、opensocial_owner_id と opensocial_viewer_id は常に同一の値となります。

署名の検証

mixiアプリ起動時のリクエストには、アプリやユーザに関する情報の他に改ざん防止を目的とした署名(OAuth Signature)が付加されています。mixiアプリ以外からの不正アクセスを防ぐために、必ずこの署名の検証を行うようにしてください。この処理を怠ると、悪意を持ったユーザによる不正アクセスが容易になってしまいます。正しく検証を行うことにより、以下のチェックを行うことが可能です。

  • mixi Platformから送信されたリクエストであること
  • リクエストの内容が改ざんされていないこと

署名方式にはRSA-SHA1を利用しています。実際の検証方法については、署名付きリクエストの検証 に関するドキュメントを参照してください。

公開鍵

署名つきリクエストの妥当性を検証するために使用する公開鍵は以下となります。セキュリティ向上の観点から、PC版mixiアプリの署名付きリクエストとは異なるものが使われていますのでご注意ください。

-----BEGIN CERTIFICATE-----
MIIEKDCCApACCQCaEk7HB4ReBjANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJK
UDEOMAwGA1UECAwFVG9reW8xEDAOBgNVBAcMB1NoaWJ1eWExEzARBgNVBAoMCk1J
WEksIEluYy4xEDAOBgNVBAMMB21peGkuanAwHhcNMjMwNjAyMDYzNjQ2WhcNMzMx
MTAxMDYzNjQ2WjBWMQswCQYDVQQGEwJKUDEOMAwGA1UECAwFVG9reW8xEDAOBgNV
BAcMB1NoaWJ1eWExEzARBgNVBAoMCk1JWEksIEluYy4xEDAOBgNVBAMMB21peGku
anAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC9wYRKJs/mAdF3TizN
DfzqcQ11QUBA/+sKBff7gD+Yntq/IuhfGmahxiGjvDJiZ93bU4MBFOVMd5coLLk/
lNWgx36mCyyTIGoZKfujAsdD7wToELO3sZ2XsL0rfb39APXyYGKNsD7zFJPaPBVZ
3IeEuPZG21d8g/fbBs/2osiVWzWmmDwfgt6zAgePFBrqaVwAle4TbMjm4lfo9VEL
KlIBb5mgU9m+SAG6pNzbh71daT3VibrMCVS8r9UJUIssjTnQ/G9ADo+AoRvdE5UM
s+5hBBWQWjCU1gioZ+RoyxeuiS7yqb9OdB8e0n5tIEya3Pcm4O4oHy7F96mg9Wsv
uREQg2qAfxyHqi6pEt7HPkxunRptWUAbpby6pUMnSgS1uYo8L/Rnqsv/ZKvMdLsx
mq/4PE9bl/R6zTENWQX0mL9E3+gGItLP7kTpbgo0m5ghJ/EYozmDR0G0TMYzhPLR
RIJaSMDo/Hu//zvOR2I/wmZwA3+iGmR/HDFoDhg7pHcefzcCAwEAATANBgkqhkiG
9w0BAQsFAAOCAYEAfLNRKqhBzitAEW2C0fccbTDlXH7YOTeDdLSVf+ZWz7pdEKUW
8Vxdtl27Yeqs8CsARj+Zk/wOzee32+mAHxzWtdS1NkPwAMufCV/48GXPXMFJSa30
Ay+QGjNWJVubGGa51eKL3iaK0M3VA+MLCP7nvVZ0/CS4YlpS8qeYymZolH7bsv5p
blK3ivVPP7i4BM9VYB5V1TyuTs5gkSwz1n4KJ7saOBionubLXlsBu2xW80fcRFT8
FQ1sDllHBaitOXPfFCkjAin1DUyZKpTPqe3cLv0NAeMVBPReLKX75kqvZKVagfJ1
kjdk4tGAYAb0LIvoJ0Vpt82iVSGmv5eTERR7mWwiFrbRFVD5mIhYxpj+Uw9NYcvm
Fh7I8CCAUJEdSq2cb2U8/BmUE7rvXu9Yz9QxJl+owtq4hU1nGohjqWS1WgvPlfeS
16jpiV4ml0vV5e+08xTgMTNarj0rDuqq5L+Lq+gq8vIdJXzDk5ZeecgrboMxZkZx
EIIZhxvntbLMRufG
-----END CERTIFICATE-----

このページの上部へ