TwitterOAuth回调URL-本地主机开发
是否有其他人很难让Twitters oAuth的回调URL访问其本地主机开发环境。 显然,它最近被禁用了TwitterOAuth回调URL-本地主机开发,twitter,oauth,Twitter,Oauth,是否有其他人很难让Twitters oAuth的回调URL访问其本地主机开发环境。 显然,它最近被禁用了 有人有解决办法吗。我真的不想停止我的开发是的,由于OAuth中最近发现的安全问题,它被禁用了。目前唯一的解决方案是创建两个OAuth应用程序——一个用于生产,一个用于开发。在开发应用程序中,您可以设置本地主机回调URL,而不是live URL。备选方案1。 设置.hosts(Windows)或etc/hosts文件以将活动域指向本地主机IP。例如: 127.0.0.1 xyz.com 其中x
有人有解决办法吗。我真的不想停止我的开发是的,由于OAuth中最近发现的安全问题,它被禁用了。目前唯一的解决方案是创建两个OAuth应用程序——一个用于生产,一个用于开发。在开发应用程序中,您可以设置本地主机回调URL,而不是live URL。备选方案1。 设置.hosts(Windows)或etc/hosts文件以将活动域指向本地主机IP。例如: 127.0.0.1 xyz.com 其中xyz.com是您真正的域名 备选方案2. 此外,本文还提供了使用URL缩短器服务的技巧。缩短本地URL并将结果作为回调提供 备选方案3.
此外,它似乎可以提供例如
http://127.0.0.1:8080
作为对Twitter的回调,而不是http://localhost:8080
我上个星期刚不得不这么做。显然,localhost
不起作用,但127.0.0.1
确实起作用
当然,这假设您正在Twitter上注册两个应用程序,一个用于您的livewww.mysite.com
,另一个用于127.0.0.1
我就是这样做的:
已注册的回调URL:
配置设置:
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上的过滤器:
斯马卡霍街。127.0.0.1中的28800
因此,如果您单击该链接,它将显示您在本地Web服务器上拥有的内容(如果您没有,您将获得404)。当然,您可以将其设置为所需的任何页面/端口:
将其作为回调url,其中xxxx是框架的端口在twitter应用程序中设置回调url:127.0.0.1:3000 并将WEBrick设置为绑定到127.0.0.1而不是0.0.0.0
command:rails s-b 127.0.0.1当我在本地开发时,我总是设置一个本地托管的开发人员名称,以反映我正在处理的项目。我通过xampp\apache\conf\extra\httpd-vhosts.conf在xampp中设置了这个,然后在\Windows\System32\drivers\etc\hosts中也设置了这个 因此,如果我正在为example.com设置一个本地开发站点,我会在这两个文件中将其设置为example.dev 简短回答:一旦设置正确,在设置Twitter应用程序时,您可以简单地将此url()视为活动的(而不是本地的) 这里给出了类似的答案: 直接报价(增加强调): 您可以提供任何有效的URL和我们在网站上识别的域名 应用程序详细信息页面。OAuth 1.0a要求您发送 流的请求令牌步骤上的oauth_回调值,我们将 在该步骤上接受基于动态locahost的回调
这对我很有吸引力。希望这有帮助。在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; }
}
我在本地主机上使用Twitter回调url。如果您不确定如何创建虚拟主机(这很重要),请使用AMPP。他真的很酷,很容易相处。只需几个步骤,您就可以拥有自己的虚拟主机,然后每个url都可以使用它。例如:
干杯。可以通过以下方式非常方便地完成:
- 打开菜单工具>主机…
- 插入一行,如
,确保选中“启用请求的重新映射…”。不要忘记按保存127.0.0.1 your production domain.com
- 如果需要访问真实的生产服务器,只需退出Fiddler或禁用重新映射
- 再次启动Fiddler将打开重新映射(如果选中)
127.0.0.1:3000您的生产域.com
(不可能通过hosts文件实现这一点)。此外,您可以使用任何域名(例如,localhost
)代替IP
通过这种方式,您可以(但不是必须)只注册一次您的Twitter应用程序(前提是您不介意在本地开发和生产中使用相同的密钥)。看起来Twitter现在允许
localhost
与您在回调URL
设置中拥有的任何内容一起使用,只要那里有一个值。回调URL已编辑
http://localhost:8585/logintwitter.aspx
皈依
http://127.0.0.1:8585/logintwitter.aspx
我在这方面遇到了困难,并遵循了十几种解决方案,最后我要在本地主机上使用任何ssl API所需做的就是: 下载: 在
php.ini
*中取消注释和更改:
curl.cainfo=“c:/wamp/bin/php/php5.5.12/cacert.pem”
- 通过在CLI中运行
,可以找到php--ini
文件在计算机上的位置php.ini
- 为了方便起见,我将cacert.pem放在与php.ini相同的目录中
http://127.0.0.1:8585/logintwitter.aspx