CanvasページのIFrame版の仕様考察

前回の結果からどういう動作をしているか考察してみようと思う。

  • [SERVER_ADDR] => 127.0.0.1、[REMOTE_ADDR] => 127.0.0.1、となっているので、自分のマシンから自分のマシンのapacheに繋ぎに行っていることは間違いない
  • [HTTP_REFERER] => http://apps.facebook.com/XXX/ となっているので、大本のページはCanvasページとなっているというのは間違いない。IFrame版なので、その名の通り外枠はFacebookのページで中身は http://localhost/fb.php となっているということだろう。
  • 未ログイン時の「session」は空だがログイン後はユーザ情報が入ってくる
  • Facebook SDK では、PHPのセッション($_SESSION)は使用していないことがわかる
  • 管理画面で fb.php?dummy というURLを指定しているので、_GET --- Array ( [dummy] => ) となっている
  • _POST --- Array ( [signed_request] => ながーい文字列 ) となっており、fb.php へのHTTPリクエストはPOSTメソッドが使用されているようだ
  • またこの signed_request はアクセスの度にデータが異なるので、おそらくFacebook側でセキュリティー対策として活用しているのだろう
  • ログイン後の2回目からはCOOKIEにユーザ情報が入ってくる

では今度はPHPからAPIを呼んでみましょうか。