2012-05-04 26 views
67

我想测试OAuth的按钮,但它们都(Facebook,微博,LinkedIn)回来用,似乎信号,我不能测试或从本地URL中使用他们的错误。Oauth - 如何测试当地的网址?

人们如何通常与OAuth的东西,开发工作,如果他们似乎都需要一个非开发和非本地连接的环境?

+0

我回答对某个备份:http://stackoverflow.com/a/10410838/604511 – aitchnyu

回答

69

更新2016年10月:现在最简单:使用lvh.me它总是指向127.0.0.1

以前的答案

由于回调的请求是由浏览器发出的,作为一个HTTP重定向响应,你可以设置你的.hosts文件或等同于点域,是不是localhost至127.0。 0.1。

比方说您注册下面的回调与Twitter:http://www.publicdomain.com/callback/。确保www.publicdomain.com指向你的hosts文件127.0.0.1,认为Twitter可以做www.publicdomain.com一个成功的DNS查找,即域必须存在,如果请求的特定回调可能应该返回200个状态消息。

编辑

我刚刚看了下面的文章:http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local-machine/,这是有联系的,从这样一个问题:Twitter oAuth callbackUrl - localhost development

引述的文章:

可以bit.ly使用,一个网址缩短服务。只需缩短[localhost URL,例如http // localhost:8080/twitter_callback]并在Twitter应用程序中将缩短的URL注册为回调。

这应该比在.hosts文件中摆弄更容易。

注意,现在(八月'14)bit.ly是不允许链接转发到本地主机;但谷歌链接缩短工程。

+37

您还可以使用http://lvh.me/它始终指向127.0.0.1 – McGuireV10

+1

我以为是服务器调用callbackurl,现在认识到oauth使用客户端作为信使,并且在服务器之间没有连接,这使得它更简单。 –

+3

值得注意的是,lvh.me由一位叫Levi Cook的绅士所拥有(见https://gist.github.com/levicook/563675),并且是私人拥有的。他看起来像个不错的人,但它不是全球权威机构的正式授权领域,所以它可能“理论上”在某个时间点停止工作。 –

1

或者你可以使用https://tolocalhost.com/和配置应该如何重定向回调到本地站点。您可以指定主机名(如果与localhost不同,即yourapp.local和端口号不同)。 仅用于开发目的。