Twitters oAuth의 콜백 URL을 로컬 호스트 개발 환경에 연결하는 데 어려움을 겪고있는 사람이 있습니까? 최근에 비활성화 된 것 같습니다. http://code.google.com/p/twitter-api/issues/detail?id=534#c1
누구든지 해결 방법이 있습니까? 나는 정말로 내 개발을 멈추고 싶지 않습니다.
Twitters oAuth의 콜백 URL을 로컬 호스트 개발 환경에 연결하는 데 어려움을 겪고있는 사람이 있습니까? 최근에 비활성화 된 것 같습니다. http://code.google.com/p/twitter-api/issues/detail?id=534#c1
누구든지 해결 방법이 있습니까? 나는 정말로 내 개발을 멈추고 싶지 않습니다.
답변:
대안 1.
라이브 도메인이 로컬 호스트 IP를 가리 키도록 .hosts (Windows) 또는 etc / hosts 파일을 설정합니다. 예 :
127.0.0.1 xyz.com
여기서 xyz.com은 실제 도메인입니다.
대안 2.
또한이 기사에서는 URL 단축 서비스를 대신 사용하는 방법에 대한 팁을 제공합니다. 로컬 URL을 줄이고 결과를 콜백으로 제공하십시오.
대안 3.
또한 예를 들어 http://127.0.0.1:8080
.NET 대신 Twitter에 콜백으로 제공하는 것으로 보입니다 http://localhost:8080
.
그냥 넣어 http://127.0.0.1:xxxx/를 XXXX는 프레임 워크의 포트 콜백 URL로
예, OAuth에서 발견 된 최근 보안 문제로 인해 사용 중지되었습니다. 현재 유일한 해결책은 두 개의 OAuth 애플리케이션을 만드는 것입니다. 하나는 프로덕션 용이고 다른 하나는 개발 용입니다. 개발 애플리케이션에서 라이브 대신 localhost 콜백 URL을 설정합니다.
이것이 내가 한 방법입니다.
등록 된 콜백 URL : http://127.0.0.1/Callback.aspx
OAuthTokenResponse authorizationTokens =
OAuthUtility.GetRequestToken(ConfigSettings.getConsumerKey(),
ConfigSettings.getConsumerSecret(),
"http://127.0.0.1:1066/Twitter/Callback.aspx");
ConfigSettings :
public static class ConfigSettings
{
public static String getConsumerKey()
{
return System.Configuration.ConfigurationManager.AppSettings["ConsumerKey"].ToString();
}
public static String getConsumerSecret()
{
return System.Configuration.ConfigurationManager.AppSettings["ConsumerSecret"].ToString();
}
}
Web.config :
<appSettings>
<add key="ConsumerKey" value="xxxxxxxxxxxxxxxxxxxx"/>
<add key="ConsumerSecret" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
</appSettings>
프로젝트의 '동적 포트 사용'속성을 'false'로 설정하고 대신 정적 포트 번호를 입력하세요. (나는 1066을 사용했습니다).
이게 도움이 되길 바란다!
이것이하는 일은 127.0.0.1에 대한 간단한 DNS 연결로 localhost 또는 127.0.0.1의 필터를 우회 할 수 있습니다.
smackaho.st. 127.0.0.1에서 28800
따라서 링크를 클릭하면 로컬 웹 서버에있는 정보가 표시됩니다 (없으면 404가 표시됩니다). 물론 원하는 페이지 / 포트로 설정할 수 있습니다.
내 로컬 호스트에서 Twitter 콜백 URL로 작업했습니다. 가상 호스트를 만드는 방법을 모르는 경우 (중요) Ampps를 사용하십시오. 그는 정말 멋지고 쉽습니다. 몇 단계 만 거치면 자신의 가상 호스트가 있고 모든 URL이 작동합니다. 예를 들면 :
앰프 다운로드 및 설치
새 도메인을 추가하십시오. (여기에서 예를 들어 twitter.local로 설정할 수 있습니다.) 이는 가상 호스트가 http : //twitter.local이 되고 3 단계 후에 작동 함을 의미합니다 .
나는 Win에서 작업하고 있으므로 호스트 파일-> C : \ Windows \ System32 \ Drivers \ etc \ hosts로 이동하여 다음 줄을 추가하십시오. 127.0.0.1 twitter.local
Ampps를 다시 시작하면 콜백을 사용할 수 있습니다. 일부 프레임 워크 MVC를 사용 중이거나 htaccess URL 재 작성이있는 경우에도 모든 URL을 지정할 수 있습니다.
이 도움을 바랍니다! 건배.
로컬로 개발할 때 항상 작업중인 프로젝트를 반영하는 로컬 호스팅 개발 이름을 설정합니다. xampp \ apache \ conf \ extra \ httpd-vhosts.conf를 통해 xampp에서 설정 한 다음 \ Windows \ System32 \ drivers \ etc \ hosts에서도 설정했습니다.
따라서 example.com에 대한 로컬 개발 사이트를 설정하는 경우이 두 파일에서 example.dev로 설정합니다.
짧은 답변 : 이 URL이 제대로 설정되면 Twitter 애플리케이션을 설정할 때이 URL ( http://example.dev )을 실제 (로컬이 아닌) 것처럼 처리 할 수 있습니다.
비슷한 답변이 여기에 제공되었습니다 : https://dev.twitter.com/discussions/5749
직접 견적 (강조 추가) :
애플리케이션 세부 정보 페이지에서 인식하는 도메인 이름과 함께 유효한 URL을 제공 할 수 있습니다. OAuth 1.0a를 사용하려면 흐름의 요청 토큰 단계에서 oauth_callback 값을 보내야하며 해당 단계 에서 동적 locahost 기반 콜백 을 수락합니다 .
이것은 나에게 매력처럼 작동했습니다. 도움이 되었기를 바랍니다.
Fiddler로 매우 편리하게 수행 할 수 있습니다 .
127.0.0.1 your-production-domain.com
"Enable remapping of requests ..."가 선택되어 있는지 확인합니다. 를 누르는 것을 잊지 마십시오 Save.즐거운 보너스는 다음과 같이 사용자 지정 포트를 지정할 수 127.0.0.1:3000 your-production-domain.com
있다는 것입니다 .
(hosts 파일을 통해이를 달성하는 것은 불가능합니다). 또한 IP 대신 모든 도메인 이름 (예 :)을 사용할 수 있습니다 localhost
.
이렇게하면 트위터 앱을 한 번만 등록 할 수 있습니다 (필수는 아님) (로컬 개발 및 프로덕션에 동일한 키를 사용해도 괜찮은 경우).
TwitterAPIExchange.php 에서이 함수를 180 번 줄에서 편집하십시오.
public function performRequest($return = true)
{
if (!is_bool($return))
{
throw new Exception('performRequest parameter must be true or false');
}
$header = array($this->buildAuthorizationHeader($this->oauth), 'Expect:');
$getfield = $this->getGetfield();
$postfields = $this->getPostfields();
$options = array(
CURLOPT_HTTPHEADER => $header,
CURLOPT_HEADER => false,
CURLOPT_URL => $this->url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
);
if (!is_null($postfields))
{
$options[CURLOPT_POSTFIELDS] = $postfields;
}
else
{
if ($getfield !== '')
{
$options[CURLOPT_URL] .= $getfield;
}
}
$feed = curl_init();
curl_setopt_array($feed, $options);
$json = curl_exec($feed);
curl_close($feed);
if ($return) { return $json; }
}
나는 똑같은 문제를 겪었고 localhost를 유효한 콜백 URL로 제공 할 수 없었습니다. 그래서 개발자를 돕기 위해 간단한 도메인을 만들었습니다 : https://tolocalhost.com
모든 경로를 필요한 localhost 도메인 및 포트로 리디렉션합니다. 다른 개발자에게 유용 할 수 있기를 바랍니다.
나는 이것으로 어려움을 겪고 12 가지 솔루션을 따랐으며 결국 로컬 호스트에서 SSL API로 작업하기 위해해야 할 일은 다음과 같습니다.
다운로드 이동 : cacert.pem 파일
에서 php.ini
* 않은 주석과 변화 :
curl.cainfo = "c:/wamp/bin/php/php5.5.12/cacert.pem"
php.ini
실행하여 컴퓨터에서 파일의 위치를 찾을 수 있습니다.php --ini
다음은 내 랩톱에서 Facebook이 로컬 응용 프로그램과 함께 작동하도록하는 데 도움이 된 단계입니다.