Einrichten der Facebook-Login auf localhost
Habe ich die hier beschriebenen Schritte zum erstellen einer Facebook-App-Anmeldung:
http://developers.facebook.com/docs/howtos/login/server-side-login/
Und bin bei Schritt 3. Ich bin der Einstellung auf localhost für die Entwicklung und dann werde ich veröffentlichen auf Azure-Websites mit einem anderen App-ID. Ich möchte diese arbeiten auf localhost ersten obwohl. (Ich habe nicht versucht, diese mit einem nicht-localhost-domain noch nicht.)
Auf meiner Facebook App-Konfiguration Seite habe ich ein paar relevante Felder:
Website URL: http://localhost : 8052/(Leerzeichen Hinzugefügt, um eine submision, um Stack-Überlauf)
App-Domains: localhost
main.php leitet zu einer login-Seite, wenn es keine Facebook-code-set. Dies funktioniert sehr gut.
<head>
<?php
if(!isset($_SESSION['code'])) {
echo ('<meta http-equiv="REFRESH" content="0;url=/login.php" />');
}
?>
</head>
login.php Weiterleitungen zu Facebook-login-Seite mit der code kopiert aus Ihrem Beispiel.
<?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>");
}
?>
Klar habe ich verschleierte meine App-ID oben.
Die URL generiert, von meinem "CreateUrlForPage" - Funktion, sieht gut aus, wie funktioniert der facebook-login-URL:
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
(Wieder, einige Verschleierung hier. Die realen Werte sah gut. Der erste ist ein integer, der zweite einen langen hex-string.)
Wenn ich navigieren Sie zu http://localhost : 8052/login.php Die Seite leitet weiter auf Facebook und gibt ein völlig nutzlos Fehler: "Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."
Sah ich ein paar andere Beiträge auf Stack Overflow, aber Sie hat nicht mein problem zu lösen.
Die Fehler, die ich bekommen hab sieht genauso aus wie hier beschrieben:
Facebook-Anwendung-login auf localhost Fehler
Der Vorschlag, die bereitgestellt werden, um die Domain-und Website-URL, die ich getan habe.
Dort ist auch ein link zu dieser Frage: Laufen Facebook-Anwendung auf localhost
Wieder schlagen Sie eine Website-URL. Sie sprechen auch über die app-canvas, das ist nicht etwas, was ich verwende und ich weiß nicht, wie es wäre in Bezug auf login.
Für was es Wert ist, bevor ich die Website-URL und-Domain, ich war immer eine andere Fehlermeldung - eine, die sagte mir, ich brauchte, um die Website-URL.
InformationsquelleAutor MattD | 2013-02-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
dieser code funktionierte für mich. überprüfen Sie Ihre facebook-app-id und url für meine Website eingestellt: http://localhost:8052/dont wirklich brauchen, um set-Domäne-name für den login Dank
http://gamma.owlweb.com.ua/index.php/?route=account/register/fb
InformationsquelleAutor rana