在本地主机上设置的Facebook登录(Setting up Facebook Login on l

2019-07-19 04:25发布

我一直在关注这里列出来创建一个Facebook应用程序登录的步骤: http://developers.facebook.com/docs/howtos/login/server-side-login/

而我在第3步。我在本地主机上的发展设置此功能,然后我会发布到一个不同的应用程序ID Azure的网站。 我想,虽然有本地主机上的第一个这方面的工作。 (我没有试过用非本地主机域名呢。)

在我的Facebook应用程序的配置页面,我设置了几个相关领域:网站的URL:http://本地主机:8052 /(空间添加到允许submision堆栈溢出)应用程序域:本地主机

main.php重定向到登录页面,如果没有Facebook的代码集。 这工作得很好。

<head>
<?php
   if(!isset($_SESSION['code'])) {
      echo ('<meta http-equiv="REFRESH" content="0;url=/login.php" />');
   }
?>
</head>

重定向的login.php使用从他们的榜样代码复制Facebook的登录页面。

<?php

   include '/lib/url.php';

   $app_id = "XXXXX";
   $app_secret = "XXXXX";
   $my_url = CreateUrlForPage('welcome.php');

   session_start();

   $code = '';
   if(!isset($_REQUEST["code"])) {
     $_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
     $dialog_url = "https://www.facebook.com/dialog/oauth?client_id=" 
       . $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
       . $_SESSION['state'];

     echo $my_url.'<br/>';
     echo $dialog_url.'<br/>';
     echo("<script> top.location.href='" . $dialog_url . "'</script>");
   }
?>  

显然,我混淆我上面的应用程序ID。

我的“CreateUrlForPage”功能生成的URL看起来很好一样Facebook登录网址:

http://localhost:8052/welcome.php
https://www.facebook.com/dialog/oauth?client_id=XXXX&redirect_uri=http%3A%2F%2Flocalhost%3A8052%2Fwelcome.php&state=XXXX

(同样,这里一些混淆。真正的值看起来正常。第一个是一个整数,第二个是一个长十六进制字符串)。

当我浏览到http://本地主机:8052 / login.php中,将页面重定向至Facebook,并给出了完全无用的错误:“发生错误,请稍后再试。”

我看着堆栈溢出一对夫妇的其他职位,但他们并没有解决我的问题。

:我收到看起来就像这里所描述的一个错误的Facebook应用程序登录错误在localhost上提供的建议是设置域和站点URL,我已经做到了。

还有一个链接到这个问题: 运行在本地主机上的Facebook应用程序再次,他们建议网站的网址。 他们还谈到应用帆布这是不是我用,我看不出它会登录有关。

对于它的价值,我之前设定的网站URL和域名,我得到一个不同的错误 - 一个告诉我,我需要设置的网址。

Answer 1:

此代码为我工作。 仔细检查您的Facebook应用程序ID和我的网站的URL设置为http://本地主机:8052 /并不真正需要设置域名,登录感谢

http://gamma.owlweb.com.ua/index.php/?route=account/register/fb

<?php

$app_id = "xxx";    $app_secret = "xxx"; 
$my_url ="http://localhost:3080/abc.php";

session_start();

$code = '';    

if(!isset($_REQUEST["code"])) {
  $_SESSION['state'] = md5(uniqid(rand(), TRUE)); // CSRF protection
  $dialog_url = 
    "https://www.facebook.com/dialog/oauth?client_id=".$app_id
    ."&redirect_uri=".urlencode($my_url)
    ."&state=".$_SESSION['state'];

  echo $my_url.'<br/>';
  echo $dialog_url.'<br/>';
  echo("<script> top.location.href='" . $dialog_url . "'</script>");
} 
?>


文章来源: Setting up Facebook Login on localhost