我试图测试OAuth按钮,但它们都(Facebook, Twitter, LinkedIn)返回错误,似乎表明我不能从本地URL测试或使用它们。
如果开发人员都需要非开发和非本地连接环境,那么他们通常如何使用OAuth的东西进行开发呢?
我试图测试OAuth按钮,但它们都(Facebook, Twitter, LinkedIn)返回错误,似乎表明我不能从本地URL测试或使用它们。
如果开发人员都需要非开发和非本地连接环境,那么他们通常如何使用OAuth的东西进行开发呢?
当前回答
2016年10月更新:现在最简单:使用lvh。我总是指向127.0.0.1,但确保验证这仍然是真的,每次你需要调用它(因为域可以过期或被接管,DNS中毒总是一个问题)
之前的回答:
由于回调请求是由浏览器发出的,作为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,一个URL缩短服务。只需要缩短[localhost URL,如http//localhost:8080/twitter_callback],并在你的Twitter应用程序中注册缩短的URL作为回调。
这应该比在.hosts文件中折腾要简单。
注意现在(2014年8月)位。Ly不允许链接转发到本地主机;但是谷歌链接缩短工作。
PS编辑:(11月18日):谷歌链接缩短器停止支持localhost或127.0.0.1。
其他回答
你也可以使用ngrok: https://ngrok.com/。我一直使用它在我的本地主机上运行一个公共服务器。希望这能有所帮助。
另一个甚至免费提供你自己的自定义域名的选项是serveo.net和https://localtunnel.github.io/www/
可以在windows和linux下编辑hosts文件 Windows: C:\Windows\System32\Drivers\etc\hosts Linux:“/etc/hosts”
本地主机名解析在DNS本身中处理。 127.0.0.1 mywebsite.com
完成测试后,只需注释为禁用它而添加的行
127.0.0.1 mywebsite.com
如果你有一个域,你可以创建一个重定向到你的本地入口点的子域,这对我来说很有用
我创建了一个公共子域:oauth-test-local.alexisgatuingt.fr,它用返回的数据将您重定向到http:127.0.0.1:8000/oauth/callback/谷歌
我遇到了一些问题,在其他答案中提到的工具,如http://tolocalhost.com不转发查询参数(更不用说你必须访问页面并首先配置它,与https://thomasmcdonald.github.io/Localhost-uri-Redirector/相同的情况)和http://lvh.me对我没有用处,因为我在本地机器上运行代理,需要公共URL指向像http://mywebsite.dev这样的私有URL。
所以我做了自己的工具来满足我的需求,也可以满足你们的需求:
https://redirectmeto.com
例子:
https://redirectmeto.com/https://www.google.com/search?q=puppies
http://redirectmeto.com/http://localhost:4000/oauth/authorize
http://redirectmeto.com/http://client.dev/page
另一个有价值的选择是https://github.com/ThomasMcDonald/Localhost-uri-Redirector。这是一个非常简单的html页面,可以重定向到您在UI中配置的任何主机和端口。
该页面托管在Github https://thomasmcdonald.github.io/Localhost-uri-Redirector上,所以你可以使用它作为你的OAuth2重定向url,并在UI中配置你的目标主机和端口,它会重定向到你的应用程序