当用户登陆我的应用程序并且尚未通过授权过程时,对话框首先在画布中打开,然后在画布之外重新加载。除了看起来几秒钟之外,一切都按预期执行。
我使用header('Location:https://www.facebook.com/dialog/oauth/?client_id=12345678910&redirect_uri=https://apps.facebook.com/namespace/&state=&scope=');
在我的应用程序的顶部应该检测到尚未接受身份验证。
答案 0 :(得分:1)
我总是使用JavaScript重定向,因为画布应用程序已经在iFrame中,我们希望将顶部窗口重定向到身份验证对话框。
尝试使用这个回显JavaScript重定向的PHP函数。
function jsRedirect($url){
echo "<script language=javascript>";
echo "top.location.href ='".$url."';";
echo "</script>";
exit();
}
请注意,我们使用top.location.href
而不是window.location.href
。