我正在尝试测试oauth按钮,但他们都(Facebook,Twitter,LinkedIn)回来时出现的错误似乎表明我无法测试或使用本地网址.
如果人们似乎都需要非开发和非本地连接环境,那么人们通常如何使用oauth工作进行开发?
Jon*_*der 113
更新2016年10月:最简单的现在:使用lvh.me它始终指向127.0.0.1.
上一个答案:
由于回调请求由浏览器发出,作为HTTP重定向响应,您可以设置.hosts文件或等效文件以指向不是localhost127.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],并将缩短的URL注册为Twitter应用程序中的回调.
这应该比在.hosts文件中摆弄更容易.
请注意,现在(2014年8月)bit.ly不允许链接转发到localhost; 但谷歌链接缩短工作.
PS编辑:( 11月18日):谷歌链接缩短器停止支持localhost或127.0.0.1.
Jør*_*gen 15
或者您可以使用https://tolocalhost.com/并配置它应如何将回调重定向到您的本地站点.您可以指定主机名(如果与localhost不同,即yourapp.local和端口号).仅用于开发目的.
您也可以使用ngrok:https ://ngrok.com/ 。我一直使用它在本地主机上运行公共服务器。希望这可以帮助。
甚至可以免费提供您自己的自定义域的另一个选项是serveo.net和https://localtunnel.github.io/www/
小智 7
对于 Mac 用户,编辑/etc/hosts文件。sudo vi /etc/hosts如果它是只读的,则必须使用。授权后,oauth 服务器发送回调 URL,并且由于该回调 URL 呈现在您的本地浏览器上,因此本地 DNS 设置将起作用:
127.0.0.1 mylocal.com
Run Code Online (Sandbox Code Playgroud)
将您的本地域设置为mywebsite.example.com(并将其重定向到本地主机)——即使通常是使用mywebsite.dev. 这将允许强大的自动测试。
虽然授权.test并.dev不允许,但是在google oauth2中授权example.com 是允许的。
(您可以将任何域重定向到主机文件中的本地主机(unix/linux:)/etc/hosts)
为什么mywebsite.example.com?
因为example.com是保留域名。所以
not-redirected-by-mistake.example.com.我遇到了其他答案中提到的工具的一些问题,例如http://tolocalhost.com不转发查询参数(更不用说您必须先访问该页面并配置它,与https://thomasmcdonald.github 的情况相同.io/Localhost-uri-Redirector/)和http://lvh.me对我来说没有用,因为我在本地计算机上运行代理,并且需要公共 URL 指向像http://mywebsite 这样的私有 URL。开发人员。
因此,我制作了自己的工具来满足我的需求,也可能满足您的需求:
例子:
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
| 归档时间: |
|
| 查看次数: |
80219 次 |
| 最近记录: |