我试图测试OAuth按钮,但它们都(Facebook, Twitter, LinkedIn)返回错误,似乎表明我不能从本地URL测试或使用它们。

如果开发人员都需要非开发和非本地连接环境,那么他们通常如何使用OAuth的东西进行开发呢?


当前回答

Mac用户:编辑/etc/hosts文件。如果它是只读的,你必须使用sudo vi /etc/hosts。授权后,oauth服务器发送回调URL,由于该回调URL是在您的本地浏览器上呈现的,因此本地DNS设置将工作:

127.0.0.1       mylocal.com

其他回答

另一个有价值的选择是https://github.com/ThomasMcDonald/Localhost-uri-Redirector。这是一个非常简单的html页面,可以重定向到您在UI中配置的任何主机和端口。

该页面托管在Github https://thomasmcdonald.github.io/Localhost-uri-Redirector上,所以你可以使用它作为你的OAuth2重定向url,并在UI中配置你的目标主机和端口,它会重定向到你的应用程序

你也可以使用ngrok: https://ngrok.com/。我一直使用它在我的本地主机上运行一个公共服务器。希望这能有所帮助。

另一个甚至免费提供你自己的自定义域名的选项是serveo.net和https://localtunnel.github.io/www/

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

如果你有一个域,你可以创建一个重定向到你的本地入口点的子域,这对我来说很有用

我创建了一个公共子域: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