mixiアプリ » 技術仕様(Graph API方式) » PC » 起動時のパラメータと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 を取得している場合にのみ付与されます。ユーザ認可についてはユーザ認可についての項目をご参照ください。
また、新方式のmixiアプリでは、opensocial_owner_id と opensocial_viewer_id は常に同一の値となります。
署名の検証
mixiアプリ起動時のリクエストには、アプリやユーザに関する情報の他に改ざん防止を目的とした署名(OAuth Signature)が付加されています。mixiアプリ以外からの不正アクセスを防ぐために、必ずこの署名の検証を行うようにしてください。この処理を怠ると、悪意を持ったユーザによる不正アクセスが容易になってしまいます。正しく検証を行うことにより、以下のチェックを行うことが可能です。
- mixi Platformから送信されたリクエストであること
- リクエストの内容が改ざんされていないこと
署名方式にはRSA-SHA1を利用しています。実際の検証方法については、署名付きリクエストの検証 に関するドキュメントを参照してください。
公開鍵
署名つきリクエストの妥当性を検証するために使用する公開鍵は以下となります。
-----BEGIN CERTIFICATE----- MIIEKDCCApACCQDrtSLw6qn8mzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJK UDEOMAwGA1UECAwFVG9reW8xEDAOBgNVBAcMB1NoaWJ1eWExEzARBgNVBAoMCk1J WEksIEluYy4xEDAOBgNVBAMMB21peGkuanAwHhcNMjMwNjAyMDYyNjUyWhcNMzMx MTAxMDYyNjUyWjBWMQswCQYDVQQGEwJKUDEOMAwGA1UECAwFVG9reW8xEDAOBgNV BAcMB1NoaWJ1eWExEzARBgNVBAoMCk1JWEksIEluYy4xEDAOBgNVBAMMB21peGku anAwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCvEc8rk3JaowHXyhui BZAJoy7ie1ZdOMccZEKRBL/y7/D8DXt7Rw8toqAsyPf2oUn30Ar6JyDAwOX4npco RwXEsiKoxgn1YhAelglEJYocc8OZSTBQOQkceRnsF525PcugG18mJljd+fa+6iEQ CImRR3NubE6qdDbHe+/Eg3etJ2FQTGn9l5ZLoctIwOU08GcqcrLJQ61KYk6bKppM CJugUDsuj0reVFYD0qPNTZQz1BtnzWRkcPwTwVCsg0uH/zepx0e+IJDZzmtVZ6rU 2g1UTSqw7FttekcZCNhvSH/3+ZtTf6pd79WO9vBldlw8a6vJdE4jst3h/VfTIDgt 9vArwWD2s8zBouOeJZLeiwFk61ohXR9NJLiA/W+XBPwjbz3usrb0mtWTFmQ6tac8 2Q49kaG+IIInNpjshfR1g3PdFJWNrz/TfDizWWxepgQwReh5UmTrer5CyzpbBS8U L65Fzn95fRHxBrHvLzW7c+Jx2tKuZTUDmcBLwUeX6BUcpM0CAwEAATANBgkqhkiG 9w0BAQsFAAOCAYEARbBFVJqcLfnCjUKuUbpajyJtkov/zcfYtZP04XQ2GetX1Iga bS7AgCpDMbl+OJEuHV2XOGVEix2D0vHXFklQ/dJtRlLp7VOQG293bw8/aIdthHI8 truySAHHzAZu8NPDnGSL7o3JevgYNHZHZ3M5cpTWDjjJOxAvqQpNFlw1AwEfXNvp N9Y2euNDk3ND1RERelFc+q2DU2NRmWlc21J2xyneDNPtqTkM25kuyGD366+Io8X/ OgIBfqWpYlhMEvhWvJAZPErpcfKxyQlsq3cn1/FTVCeeG0WSXaHYIT4WAWBtoeJO 83EHUVM+ZmC24sb18VIV+yFwlvrRuhPgTKZpVeb10lQenOIq+tL1aDitv6y0NsZQ KjdB3Q0TKKXsYxYFmJRsF3yR4NflGkjVqFuLfQMqRxaCTIlrWmbxQ5lsBI5KOXoB uLyDjWX/TCzphhexnkWed+B+g4e9O2yMWpMNDeASVdh7ZGuI07Lc7yiiCE5r4tcB qjYaJdNXyNWlRwpJ -----END CERTIFICATE-----