我试图测试OAuth按钮,但它们都(Facebook, Twitter, LinkedIn)返回错误,似乎表明我不能从本地URL测试或使用它们。
如果开发人员都需要非开发和非本地连接环境,那么他们通常如何使用OAuth的东西进行开发呢?
我试图测试OAuth按钮,但它们都(Facebook, Twitter, LinkedIn)返回错误,似乎表明我不能从本地URL测试或使用它们。
如果开发人员都需要非开发和非本地连接环境,那么他们通常如何使用OAuth的东西进行开发呢?
当前回答
这个答案只适用于谷歌OAuth
这实际上很简单,我很惊讶它对我有用(我仍然怀疑我的眼睛所看到的)。
显然,您可以在谷歌开发人员控制台中添加localhost作为可信域,因为正如您在这里看到的,localhost是大多数规则的例外。
这可以在OAuth 2.0客户端id的页面中完成。单击编辑,然后添加http://localhost:8000或类似的端口,并单击保存。
在输入框中包含http或https是至关重要的。
HTTP还是HTTPS?
我再次对谷歌允许http感到惊讶,尽管请注意,如果您的应用程序已经发布到生产环境中,则存在一个较小的安全风险。
如果你想更加谨慎,你可以选择坚持使用https。这将要求您在本地主机服务器上设置SSL证书。
这比您想象的要简单,因为SSL证书不需要是有效的。许多http服务器都应该提供这个选项。你将不得不在浏览器中点击“继续”按钮,以绕过红色大警告。
这比http更安全,因为一个)用户将看到一个大的红色警告如果尝试phishy黑客,或者b)唯一一次他们不会看到这个警告如果用户故意设置自托管SSL证书,在这种情况下,他们可能知道他们在做什么(我想病毒可以在技术上做到这一点,但是在这个阶段他们已经得到足够的控制用户的系统去做任何他们想要的)。
其他回答
你也可以使用ngrok: https://ngrok.com/。我一直使用它在我的本地主机上运行一个公共服务器。希望这能有所帮助。
另一个甚至免费提供你自己的自定义域名的选项是serveo.net和https://localtunnel.github.io/www/
谷歌不允许测试认证api在本地主机使用http://webporject.dev或。loc和。etc和谷歌短链接缩短您的本地url(http://webporject.dev)也位。ly:)。谷歌只接受以http://localhost/开头的url…
如果你想测试谷歌认证API,你应该遵循这些步骤…
如果你使用openserver,进入设置面板,单击别名选项卡,单击下拉菜单,然后找到localhost并选择它。
现在你应该通过点击第一个下拉菜单旁边的下一个下拉菜单来选择你的本地web项目根文件夹。
点击一个叫做add的按钮并重新启动opensever。
现在您的本地项目可在此链接http://localhost/ 你也可以粘贴这个本地url到谷歌认证API重定向url字段…
可以在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
或者您可以使用https://tolocalhost.com/并配置它如何将回调重定向到您的本地站点。您可以指定主机名(如果不同于localhost,即yourapp)。本地和端口号)。仅供开发用途。
Mac用户:编辑/etc/hosts文件。如果它是只读的,你必须使用sudo vi /etc/hosts。授权后,oauth服务器发送回调URL,由于该回调URL是在您的本地浏览器上呈现的,因此本地DNS设置将工作:
127.0.0.1 mylocal.com