为什么 Facebook 在本例中使用 Javascript 而不是 HTTP 标头?

发布于 2025-01-06 00:26:09 字数 623 浏览 1 评论 0原文

我正在查看下面来自 开发人员网站 的示例代码,概述了使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

始终不够 2025-01-13 00:26:09

top.location 将指示突破 iframe,标头位置只会影响直接包含的 iframe。

The top.location would indicate breaking out of a iframe, a header location will only affect the immediate containing iframe.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文