我们正在用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,所以难怪我得到了错误。不知何故,我无法在网站上获取用户身份证...
答案 0 :(得分:0)
好吧最后我找到了我的问题的原因,这真的很愚蠢(就像几乎总是,对吧?)。当我构建作为参数发送到FB登录页面的回调URL时,我使用我使用的框架中的方法获取基本URL。出于某种原因,它给了我domain.com:443/
而不是domain.com/
。在我修好之后,它突然起作用了。
答案 1 :(得分:0)
在mu情况下,重定向网址中缺少WWW。 SSL证书仅适用于它