mixiアプリ » 技術仕様(新方式) » 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----- MIIDfDCCAmSgAwIBAgIJAI2n8UOEH7KvMA0GCSqGSIb3DQEBBQUAMDIxCzAJBgNV BAYTAkpQMREwDwYDVQQKEwhtaXhpIEluYzEQMA4GA1UEAxMHbWl4aS5qcDAeFw0x MjAxMjAwMzI4MDVaFw0xNDAxMTkwMzI4MDVaMDIxCzAJBgNVBAYTAkpQMREwDwYD VQQKEwhtaXhpIEluYzEQMA4GA1UEAxMHbWl4aS5qcDCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBAMZLyyXIS+3ReOuBrh5Vztt0aJwDPSgKw/Pi29B/3ODQ 3oN+tOYGVGIN1l+V40h3QmII94OpnjoB6CbnoVdE+WIDkPx6MMzPfiWF8pbbkBad 7WBe0T51l+EOFvRlZ0ZfHmldHGZl7GkDmXLu6jk4vcQyHFB/VS5hWpqDNw4i9vSO 7mHspbS2cudoagJvxqwoT+ciqy1S+Nuk2Eqll7C7wL+mnTrjtC25y4zYKfWS6MpM rt3UlDuK75+dtknYKTNtLMVsshi/A4KMHQip0V6N4EKG+zIRExFoyPvHjTpQjJNk q7JF7sshPV9MIPYRwy9WJt88P80aznFR6kgp63/C0r0CAwEAAaOBlDCBkTAdBgNV HQ4EFgQUoiRidW+vFnj49TfzYLSKsDqI5QMwYgYDVR0jBFswWYAUoiRidW+vFnj4 9TfzYLSKsDqI5QOhNqQ0MDIxCzAJBgNVBAYTAkpQMREwDwYDVQQKEwhtaXhpIElu YzEQMA4GA1UEAxMHbWl4aS5qcIIJAI2n8UOEH7KvMAwGA1UdEwQFMAMBAf8wDQYJ KoZIhvcNAQEFBQADggEBAJRIEbo8i44KWms5Svj0NmvweumgMbANC1k5Yf93w6wk Zbw+fJM+uxcxu6Z+k631+AGlahqxM/y4wXfsKfykwW6L3k4BWy/4w4owdj+5VOC7 32G8BkhdVEP3u5cq+ySp0K1EU2AaQ6lgqaQ4T1cHZjhBrBSGiUYbwKqboqbrz7ne lvycCgLbvSCa4tewEkRIwhWbc+t9FNoJTdkJIN2mdqqq5yxQMIRyKM1025fEwhw8 pX6fDv4N+LlyA2qbk+YovEQGll0fkqughEHw+K5FSdQjJ/GFnuRslOi/qCvVBc3F VPdLqcLz5IY3iYNonlca4VQzKp3TUjSluZIXvx7Hnhc= -----END CERTIFICATE-----