繁体   English   中英

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

[英]Facebook login fails on website with SSL

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

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

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

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

$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
}

感谢帮助

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

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

在mu情况下,重定向URL中缺少WWW。 SSL证书仅与此一起使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM