[英]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.