能否在本地测试谷歌社交登录?

34

我想在本地机器上测试Google社交登录系统。但是,当我创建一个新的OAuth按钮:“创建新的客户端ID”时,它要求我填写授权重定向URI,该URI必须是有效地址(以.com或.org结尾)。

显然,当我们在本地开发时,我们没有.com或.org结尾的地址。我已经设置了虚拟主机...我的本地开发地址是mywebsite.local

是否有一种方法可以输入重定向URI为mywebsite.local而不收到以下错误:

无效重定向:http://mywebsite.local/login/auth必须以公共顶级域(如.com或.org)结束


云计算怎么样?我在Azure上运行Jenkins,得到了IP地址。 - ItayB
8个回答

10
你可以将“授权重定向URI”设置为本地IP(例如http://127.0.0.1/callback),这对我来说很有效。
真正令人痛苦的是,Google不允许用户将外部IP(比如你的服务器IP,如99.99.99.99)配置为“授权重定向URI”,Google希望“授权重定向URI”以公共顶级域名结尾(如.com或.org)。

1
我在“API和服务>凭据>OAuth同意屏幕”上找不到“授权重定向URI”字段,可能他们更改了用户界面或删除了该功能。 - rraallvv
1
它在“授权域”下面。 - Yassin Mokni

9

接着pinoyyid的回答,以下是你需要在/etc/hosts文件中添加的内容。

0.0.0.0 mywebsite.com

我在已有的所有规则之后添加了新规则。

然后,您可以访问mywebsite.com上的开发站点,并在Google Developer's Console中输入正确的重定向URL。


4

3
只需要在/etc/hosts文件中将您的开发服务器IP地址映射到dev.example.com即可。

5
它确实提供了一个答案。问题在于Google表单验证用户是否输入了一个看起来有效的URL。因此,他需要输入一个任意的,但有效的URL,然后将其添加到/etc/hosts中,以便他的浏览器能够将其解析为开发服务器的地址。问题和答案都很好,不需要任何评论或澄清。 - pinoyyid

1
你可以使用ngrok将本地主机隧道转发到公共站点,具体描述请参考这里

0
关键是在本地环境中使用 https URL。
在 OSX 上,您可以安装本地 https 证书:https://github.com/FiloSottile/mkcert 或者使用 Laravel Valet。
因此,您的新的本地主机 URL 变为:https://mywebsite.local 然后将此 https 回调保存到 Google。在我的电脑上运行。

0
根据我的经验,您必须使用本地主机或公共顶级域名的URL(我使用.bar),并且所有重定向URL都必须是https(如果您想要验证的Google应用程序-需要用于表格/驱动器API)。

0

以下步骤适用于Windows用户:

  1. 进入主机文件,路径为C:\Windows\System32\drivers\etc
  2. 在主机文件中添加以下条目: 127.0.0.1 localhost.com
  3. 保存。在Google开发者控制台中使用localhost.com作为组织。

谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接