首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP和jQuery验证Facebook

问用PHP和jQuery验证Facebook
EN

Stack Overflow用户
提问于 2012-12-25 06:45:11
回答 1查看 137关注 0票数 1

我在使用以下代码进行身份验证时遇到了一些问题。

我有一个页面,它为用户生成一个loginUrl,用于在Facebook上登录/验证我的应用程序:

代码语言:javascript
复制
<?php
    $loginUrl = $facebook->getLoginUrl(array('scope' => 'publish_stream, read_friendlists, user_birthday', 'redirect_uri' => 'complete.php'));
?>
<div id="connect_facebook">
    <a class="button" href="<?php echo $loginUrl; ?>">Connect to Facebook</a>
</div>

我的complete.php有一个执行以下操作的脚本:

代码语言:javascript
复制
<script>
$(document).ready(function() {
    pop_db();
});

function pop_db() {
    $.post(
        "pop_db.php",
        function(data) {
            alert(data);
        }
    );
}
</script>

我的pop_db.php文件看起来像这样:

代码语言:javascript
复制
<?php
require_once('constants.php');

$response = array();

$user = $facebook->getUser();

if($user) {
    try {
        // make API calls
        $response['code'] = "success";
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
} else {
    $response['code'] = "failure";
    $response['userID'] = $facebook->getUser();
    $response['access_token'] = $facebook->getAccessToken();
}

echo json_encode($response);

?>

constants.php有我的Facebook对象的秘密信息(它还创建了$facebook对象)。

我的问题是,当我使用"complete.php“作为重定向并尝试使用此jQuery异步执行API调用时,我得到的响应是userID =0(表示用户没有登录),但似乎我得到了一个有效的访问令牌。当我使用"pop_db.php“而不是"complete.php”作为重定向,因此不使用任何异步调用时,一切工作正常。

我是不是遗漏了什么?为什么它一直告诉我用户没有登录?

任何建议都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2012-12-27 00:54:58

谁有问题登录自己的网站通过脸书/整合脸书登录到他们的网站只需遵循给定的链接"http://developers.facebook.com/docs/howtos/login/server-side-login/#step2".It是一个非常好的链接,它可以解决你的问题肯定。

谢谢。巴那拉塔。

“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14026238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档