2012-02-16 6 views
1

Iは、PHPを使用してOAuthの認証を概説developers siteから以下のコード例を見ていました。この例でFacebookがHTTPヘッダーではなくJavascriptを使用したのはなぜですか?

私の質問は:は、なぜ彼らはむしろ、ヘッダ(「場所」)使用するよりも、ユーザーをリダイレクトするスクリプトをエコーたのですか?

//see link for full code... 

if(empty($code)) { 
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); 
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
    . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state=" 
    . $_SESSION['state']; 

echo("<script> top.location.href='" . $dialog_url . "'</script>"); 
} 

//see link for full code... 

ありがとうございます。

+3

このコードのビットの前に任意の出力? –

+0

あなたはエコーを意味しますか?いいえ。 – LonelyWebCrawler

+0

その後、私は言うだろう - 開発者が悪い選択、Facebookのドキュメントは信じられないほどめちゃくちゃですので、おそらくあなたは彼らに –

答えて

4

top.locationはIFRAMEの抜け出しを示すであろう、ヘッダの位置は、即時含むIFRAMEに影響を与えます。

+0

これは、このコードがCanvas Appsにも柔軟に対応できるということですか?結局のところ、これらはiFramesに含まれています。私はあなたにも、アイフレームとしてページタブのアプリケーションを使用することができることを特に今、そう仮定したが、その後、彼らはまた、「signed_request」機能を持っている@LonelyWebCrawler鋭い目 – LonelyWebCrawler

+0

1 http://developers.facebook.com/docs/authentication/ signed_request / – Kaii

+0

ため – Scuzzy

関連する問題