Facebook应用程序iframe在safari上登录问题

facebook app iframe login issue on safari

本文关键字:登录 问题 safari 应用程序 iframe Facebook      更新时间:2023-09-26

我有一个使用iframe的facebook应用。

facebook加载我的网站在一个iframe。当我点击一个链接,我的网站显示一个iframe使用灯箱显示一个facebook登录。一切工作正常关闭,即chrome。在safari中,帧会无限地重新加载。

PHP代码

$me = null;

$session = $facebook->getSession();
if ($session) {
  try {
     $me = $facebook->api('/me');
     $_SESSION['facebook'] = $me;

  } catch (FacebookApiException $e) {
  }
}
if($me) require_once("logged.php");
else require_once("login.php");

javascript in login.php

window.fbAsyncInit = function() {


    FB.init({
    appId : '<?=$appId?>',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml : true // parse XFBML
    });
    check_login_session();
    // whenever the user logs in, we refresh the page
    FB.Event.subscribe('auth.login', function() {
        $.browser.safari = ( $.browser.safari && /chrome/.test(navigator.userAgent.toLowerCase()) ) ? false : true;
        window.location.href = window.location.href;
    });

};

任何想法都会很感激!

谢谢!

如果你还在寻找解决方案,然后尝试构建P3P头http://www.p3pwriter.com/LRN_121.asp

通常在iframe内设置cookie存在安全问题,p3p报头作为网站和客户端计算机之间的协议,保证保存在cookie中的信息不会被滥用。

快速解决方案:http://planet.admon.org/how-to-implement-p3p-http-headers-for-cross-site-cookies/

该怎么做:复制粘贴到页眉:

<?php
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')
?>

这是它!