我今天收到一封电子邮件说:
在我们检查的每一个案例中, 这些信息是通过 用户的HTTP Referer Header 浏览器。使用时会发生这种情况 我们的遗留认证系统和 包括,或 来自页面中第三方的内容 从中接收身份验证数据 Facebook的。我们的传统机制通过 URL中的身份验证信息 查询字符串,如果处理 不正确,可以传递给第3 浏览器派对。我们目前 OAuth 2.0身份验证系统, 一年前发布,通过这个 URL片段中的信息,即 不被传递给第三方 浏览器。
我有点困惑,因为我集成的方式是使用PHP API,使用类似于example.php文件的响应:
https://github.com/facebook/php-sdk
以下是我提出请求的方式:
$facebook = new Facebook(array(
'appId' => FACEBOOKAPPID,
'secret' => FACEBOOKSECRET,
'cookie' => false,
));
$fb_session = $facebook->getSession();
$fb_me = null;
// Session based API call.
if ($fb_session) {
try {
$fb_uid = $facebook->getUser();
$fb_me = $facebook->api('/me');
$fb_me['photo'] = 'http://graph.facebook.com/'.$fb_uid.'/picture?type=large';
$_SESSION['register_api'] = 1;
$_SESSION['register_api_details'] = $fb_me;
$_SESSION['register_api_user_id'] = $fb_uid;
header_redirect(SITEURL.'/register');
} catch (FacebookApiException $e) {
error_log($e);
}
}
else{
# LOGIN URL FOR FACE BOOK & request extra stuff
$fb_login_url = $facebook->getLoginUrl(array('req_perms'=>'email,user_about_me,user_birthday,user_website'));
header_redirect($fb_login_url);
}
一切都很好,但我不明白我做错了什么。据我所知,我正在使用oauth。
请帮忙!我需要在下周发布这个。
谢谢!
答案 0 :(得分:0)
事实证明,他们即将发布解决此问题的新版API。