为什么 Facebook 在本例中使用 Javascript 而不是 HTTP 标头?
我正在查看下面来自 开发人员网站 的示例代码,概述了使用 PHP 的 OAuth 身份验证。
我的问题是:为什么他们要回显脚本来重定向用户,而不是使用 header("Location") ?
//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...
谢谢。
I was looking at the example code below from the developers site outlining OAuth Authentication using PHP.
My question is: Why did they echo a script to redirect the user, rather than using header("Location") ?
//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...
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
top.location 将指示突破 iframe,标头位置只会影响直接包含的 iframe。
The top.location would indicate breaking out of a iframe, a header location will only affect the immediate containing iframe.