Oauth - 如何使用本地网址进行测试?

问题描述 投票:103回答:5

我正在尝试测试oauth按钮,但他们都(Facebook,Twitter,LinkedIn)回来时出现的错误似乎表明我无法测试或使用本地网址。

如果人们似乎都需要非开发和非本地连接环境,那么人们通常如何使用oauth工作进行开发?

oauth
5个回答
97
投票

2016年10月更新:现在最简单:使用始终指向lvh.me127.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这一URL缩短服务。只需缩短[localhost URL,例如http // localhost:8080 / twitter_callback],并将缩短的URL注册为Twitter应用程序中的回调。

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

请注意,现在(2014年8月)bit.ly不允许链接转发到localhost;但谷歌链接缩短工作。

PS编辑:( 11月18日):谷歌链接缩短器停止支持localhost或127.0.0.1。


14
投票

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


7
投票

你也可以使用ngrok:https://ngrok.com/。我一直使用它来在我的localhost上运行公共服务器。希望这可以帮助。


0
投票

Google不允许使用http://webporject.dev.loc和.etc以及缩短本地网址(http://webporject.dev)和bit.ly :)的google短链接在localhost上测试auth api。 Google只接受启动http://localhost/的网址...

如果您想测试google auth api,您应该按照以下步骤操作...

set new alias

如果您使用openserver转到设置面板并单击aliases tab并单击下拉列表,然后找到localhost并选择它。

现在,您应该通过单击第一个下拉列表旁边的下一个下拉列表来选择本地Web项目根文件夹。

然后单击名为add的按钮并重新启动opensever。

现在你的本地项目可以在这个链接http://localhost/上找到你也可以将这个本地网址粘贴到google auth api到redirect url字段...


0
投票

您可以在Windows或Linux上编辑hosts文件:C:\ Windows \ System32 \ Drivers \ etc \ hosts Linux:/ etc / hosts

localhost name resolution is handled within DNS itself.

127.0.0.1 没有website.com

完成测试后,您只需注释添加的行以禁用它

127.0.0.1 mywebsite.com

© www.soinside.com 2019 - 2024. All rights reserved.