在使用SSL的网站上登录失败

时间:2014-04-25 16:29:49

标签: php facebook ssl facebook-php-sdk facebook-login

我们正在用PHP构建一个Web应用程序。我们已经设置了SSL证书,之后FB登录就停止了。当脚本尝试获取用户ID时,抛出异常

  

必须使用活动访问令牌来查询有关当前用户的信息。

我100%肯定SSL是问题,因为它在我的本地主机上工作正常,并且在设置SSL之前它也在生产中工作。

我们正在使用Facebook PHP SDK。这是第一部分(获取登录URL)

$facebook = new Facebook([
    "appId" => "APP_ID",
    "secret" => "SECRET"
]);

$permissions = ["email", "user_birthday", "publish_stream", "offline_access"];
$loginURL = $facebook->getLoginUrl([
    "scope" => join(",", $permissions),
    "redirect_uri" => "REDIRECT_URI"
]);
// redirect to $loginURL

这是回调

$facebook = new Facebook([
    "appId" => "APP_ID",
    "secret" => "SECRET"
]);

$userID = $facebook->getUser();
$token  = $_GET['code'];

if(isset($userID) && isset($token)) {
    // ... some cool stuff
} else {
    // error, something happened
}

Thanx寻求帮助

编辑:我收到错误是因为我试图通过$userID获取有关用户的详细信息。问题是,$userID总是0,所以难怪我得到了错误。不知何故,我无法在网站上获取用户身份证...

2 个答案:

答案 0 :(得分:0)

好吧最后我找到了我的问题的原因,这真的很愚蠢(就像几乎总是,对吧?)。当我构建作为参数发送到FB登录页面的回调URL时,我使用我使用的框架中的方法获取基本URL。出于某种原因,它给了我domain.com:443/而不是domain.com/。在我修好之后,它突然起作用了。

答案 1 :(得分:0)

在mu情况下,重定向网址中缺少WWW。 SSL证书仅适用于它