Hat jemand anderes Schwierigkeiten, die Rückruf-URL von Twitters oAuth zu erhalten, um die lokale Host-Entwicklungsumgebung zu erreichen? Anscheinend wurde es kürzlich deaktiviert. http://code.google.com/p/twitter-api/issues/detail?id=534#c1
Hat jemand eine Problemumgehung. Ich möchte meine Entwicklung nicht wirklich stoppen
Antworten:
Alternative 1.
Richten Sie Ihre .hosts (Windows) - oder etc / hosts-Datei so ein, dass eine Live-Domain auf Ihre localhost-IP verweist. sowie:
wo xyz.com ist Ihre echte Domain.
Alternative 2.
Außerdem enthält der Artikel den Tipp, alternativ einen URL-Shortener-Dienst zu verwenden. Kürzen Sie Ihre lokale URL und geben Sie das Ergebnis als Rückruf an.
Alternative 3.
Darüber hinaus scheint es zu funktionieren, beispielsweise
http://127.0.0.1:8080
als Rückruf an Twitter statthttp://localhost:8080
.quelle
Ich musste das erst letzte Woche machen. Anscheinend
localhost
funktioniert es nicht,127.0.0.1
aber Go Figur.Dies setzt natürlich voraus, dass Sie zwei Apps bei Twitter registrieren, eine für Ihr Leben
www.mysite.com
und eine für127.0.0.1
.quelle
Geben Sie einfach http://127.0.0.1:xxxx/ als Rückruf-URL ein, wobei xxxx der Port für Ihr Framework ist
quelle
Ja, es wurde aufgrund des kürzlich in OAuth gefundenen Sicherheitsproblems deaktiviert. Die einzige Lösung besteht derzeit darin, zwei OAuth-Anwendungen zu erstellen - eine für die Produktion und eine für die Entwicklung. In der Entwicklungsanwendung legen Sie Ihre localhost-Rückruf-URL anstelle der Live-URL fest.
quelle
Rückruf-URL bearbeitet
Konvertieren zu
quelle
So habe ich es gemacht:
Registrierte Rückruf-URL: http://127.0.0.1/Callback.aspx
Konfigurationseinstellungen:
Web.config:
Stellen Sie sicher, dass Sie die Eigenschaft 'Dynamische Ports verwenden' Ihres Projekts auf 'false' setzen und stattdessen eine statische Portnummer eingeben. (Ich habe 1066 verwendet).
Ich hoffe das hilft!
quelle
Verwenden Sie http://smackaho.st
Was es tut, ist eine einfache DNS-Zuordnung zu 127.0.0.1, mit der Sie die Filter auf localhost oder 127.0.0.1 umgehen können:
Wenn Sie also auf den Link klicken, wird angezeigt, was Sie auf Ihrem lokalen Webserver haben (und wenn Sie keinen haben, erhalten Sie eine 404). Sie können es natürlich auf jede gewünschte Seite / jeden gewünschten Port einstellen:
http://smackaho.st:54878/twitter/callback
quelle
Ich habe mit der Twitter-Rückruf-URL auf meinem lokalen Host gearbeitet. Wenn Sie nicht sicher sind, wie Sie einen virtuellen Host erstellen sollen (dies ist wichtig), verwenden Sie Ampps. Er ist wirklich cool und einfach. In wenigen Schritten haben Sie Ihren eigenen virtuellen Host und dann funktioniert jede URL darauf. Beispielsweise:
Ampps herunterladen und installieren
Neue Domain hinzufügen. (hier können Sie beispielsweise twitter.local festlegen) Dies bedeutet, dass Ihr virtueller Host http: //twitter.local lautet und nach Schritt 3 funktioniert.
Ich arbeite an Win, gehen Sie also zu Ihrer Hostdatei -> C: \ Windows \ System32 \ Drivers \ etc \ hosts und fügen Sie die Zeile 127.0.0.1 twitter.local hinzu
Starten Sie Ihre Ampps neu und Sie können Ihren Rückruf verwenden. Sie können eine beliebige URL angeben, auch wenn Sie eine Framework-MVC verwenden oder die URL neu geschrieben haben.
Ich hoffe das hilft! Prost.
quelle
Wenn ich lokal entwickle, richte ich immer einen lokal gehosteten Entwicklernamen ein, der das Projekt widerspiegelt, an dem ich arbeite. Ich habe dies in xampp über xampp \ apache \ conf \ extra \ httpd-vhosts.conf und dann auch in \ Windows \ System32 \ drivers \ etc \ hosts eingerichtet.
Wenn ich also eine lokale Entwickler-Site für example.com einrichte, würde ich sie in diesen beiden Dateien als example.dev einrichten.
Kurze Antwort: Sobald dies richtig eingerichtet ist, können Sie diese URL ( http://example.dev ) einfach so behandeln, als ob sie beim Einrichten Ihrer Twitter-Anwendung live (und nicht lokal) wäre.
Eine ähnliche Antwort wurde hier gegeben: https://dev.twitter.com/discussions/5749
Direktes Zitat (Hervorhebung hinzugefügt):
Das hat für mich wie ein Zauber gewirkt. Hoffe das hilft.
quelle
Mit Fiddler geht das sehr bequem :
127.0.0.1 your-production-domain.com
, stellen Sie sicher, dass "Neuzuordnung von Anforderungen aktivieren ..." aktiviert ist. Vergiss nicht zu drücken Save.Ein angenehmer Bonus ist, dass Sie einen benutzerdefinierten Port wie folgt angeben können:
127.0.0.1:3000 your-production-domain.com
(Dies ist über die Hosts-Datei nicht möglich). Anstelle von IP können Sie auch einen beliebigen Domainnamen verwenden (zlocalhost
. B. ).Auf diese Weise ist es möglich (aber nicht erforderlich), Ihre Twitter-App nur einmal zu registrieren (vorausgesetzt, es macht Ihnen nichts aus, dieselben Schlüssel für die lokale Entwicklung und Produktion zu verwenden).
quelle
Bearbeiten Sie diese Funktion auf TwitterAPIExchange.php in Zeile 180
quelle
Ich hatte die gleiche Herausforderung und konnte localhost nicht als gültige Rückruf-URL angeben. Also habe ich eine einfache Domain erstellt, um uns Entwicklern zu helfen: https://tolocalhost.com
Es leitet jeden Pfad zu Ihrer lokalen Hostdomäne und Ihrem Port weiter, die Sie benötigen. Hoffe, es kann für andere Entwickler von Nutzen sein.
quelle
Scheint heutzutage
http://127.0.0.1
auch aufgehört zu arbeiten. Eine einfache Lösung besteht darin, sie zu verwenden,http://localtest.me
anstatthttp://localhost
immer darauf zu verweisen127.0.0.1
. Sie können sogar eine beliebige Subdomain hinzufügen, auf die immer noch verwiesen wird127.0.0.1
Siehe Website
quelle
Setzen Sie callbackurl in der Twitter-App: 127.0.0.1:3000 und setzen Sie WEBrick so, dass es auf 127.0.0.1 anstatt auf 0.0.0.0 bindet
Befehl: Schienen s -b 127.0.0.1
quelle
Es sieht so aus, als ob Twitter jetzt
localhost
neben allem, was Sie in denCallback URL
Einstellungen haben, zulässt , solange dort ein Wert vorhanden ist.quelle
Ich kämpfte damit und folgte einem Dutzend Lösungen. Am Ende musste ich nur noch mit ssl apis auf dem lokalen Host arbeiten:
Zum Download: Datei cacert.pem
In
php.ini
* Kommentar entfernen und ändern:curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"
php.ini
Datei auf Ihrem Computer befindet, indem Sie ausführenphp --ini
in Ihrer CLI ausführenquelle
Dies sind die Schritte, mit denen ich Facebook mit einer lokalen Anwendung auf meinem Laptop zum Laufen gebracht habe:
quelle