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-----
MIIDNzCCAh+gAwIBAgIJALrJUUWw3R2sMA0GCSqGSIb3DQEBBQUAMDIxCzAJBgNV
BAYTAkpQMREwDwYDVQQKDAhtaXhpIEluYzEQMA4GA1UEAwwHbWl4aS5qcDAeFw0x
MzExMDcwODQxMzFaFw0yMzExMDUwODQxMzFaMDIxCzAJBgNVBAYTAkpQMREwDwYD
VQQKDAhtaXhpIEluYzEQMA4GA1UEAwwHbWl4aS5qcDCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBANhRS3l0OcqPbmu5GuwE4oIImw0TNJEtLnxhygWdyQ5r
NLrMysOMHBXBW8UMvxVmh8yhUomFfTwGS6Got7aDS+9P//YiAfpFteMNhQ7NuIKD
bHlNTjOT2wThZD+GZqkFalv5+86YmVJ09sNTEKq2W6Xip1Q1R56kcfYlBQC51et/
aiPZF/nlpESWHM0NK3U5dD8sPutXxjnPObF47lSettnaHe/7p80oASHR87o+hqhb
hiwIucaAwE6xqvM5qUkL4tYHDNqvTBQBErrCX4lcUkxI2Jr0BKjAU4x6Z/yxJtcS
kxeSo8GvKVgUsk8SqJ33gdDaasy2dTrTRjMh/FP0YlUCAwEAAaNQME4wHQYDVR0O
BBYEFDis4n7zlw2UBLRRPXbcNJEGGP+PMB8GA1UdIwQYMBaAFDis4n7zlw2UBLRR
PXbcNJEGGP+PMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAIj/UdbB
IS2HpArm7HHITjn/r5QhFNbtJ1PXqj+scGv7zG3QrLEelQ64kWdf/Ocr4ERdOlmW
3yeBx6DDLJ7Gad6lcRl9PEjC+Z/A7AIf13XBozJmcMn7Qp/dQrG5HuyqvJVNZxdo
XvFQSr3v1KfYMiSdRPjS+U0hPM5wCV19i7/82KjNU9mtwtYzw2qqN76sDESr7lbI
EVJwUq7xE3YJcT3T6YC6AgnZ1uKO/w5kaTaUDioXTHzegNVO8g9xpk37iasu401X
wM3cfSlKNwn2YwBYW9yeHFDDmRL60V7OD03w5vgwz/4cFGMh3qDEM/sfNhiNHFAW
MWJRjRQVTA13wmg=
-----END CERTIFICATE-----

 

このページの上部へ