可以在本地测试 Google 社交登录吗?
Posted
技术标签:
【中文标题】可以在本地测试 Google 社交登录吗?【英文标题】:Possible to test Google social login locally? 【发布时间】:2014-11-28 19:25:06 【问题描述】:我想在本地机器上测试 Google Social 登录系统。但是,当我创建一个新的 OAuth 按钮时:“创建新的客户端 ID”,它要求我填写授权重定向 URI,该 URI 必须是有效地址(以 .com 或 .org 结尾)。
显然,当我们在本地开发时,最后没有 .com 或 .org。我有一个虚拟主机设置......我的本地开发地址是 mywebsite.local
有没有办法输入重定向 URI 为 mywebsite.local
而不会收到错误:
无效重定向:http://mywebsite.local/login/auth 必须以 公共***域(如 .com 或 .org)
【问题讨论】:
云呢?我在 Azure 上运行 jenkins,我得到了 ip 地址 【参考方案1】:您可以将“授权重定向 URI”设置为本地 IP(如 http://127.0.0.1/callback),它对我来说很好。
真正令人痛苦的是,谷歌不允许用户将外部 IP(假设您的服务器 IP,如 99.99.99.99)配置为“授权重定向 URI”,谷歌希望“授权重定向 URI”以公共结尾***域(例如 .com 或 .org)。
【讨论】:
我在 API 和服务 > 凭据 > OAuth 同意屏幕上找不到“授权重定向 URI”字段,可能他们更改了 UI 或删除了该功能 它在“授权域”下【参考方案2】:除了 pinoyyid 的回答,这就是你想要的 /etc/hosts
文件中的内容。
0.0.0.0 mywebsite.com
我将新规则放在已经存在的所有其他内容之后。
然后您可以在 mywebsite.com 访问您的开发站点,并在 Google 开发者控制台中输入正确的重定向 URL。
【讨论】:
【参考方案3】:只需将您的开发服务器 IP 地址映射到 /etc/hosts 中的 dev.example.com。
【讨论】:
它确实提供了答案。问题是 Google 表单验证用户输入了一个有效的 URL。所以他需要输入一个任意但有效的 URL,然后将其添加到 /etc/hosts 以便他的浏览器将其解析为他的开发服务器的地址。问题和答案都很好,不需要任何批评或澄清。【参考方案4】:关键是在本地环境中使用https
URL。
在 OSX 上你可以安装本地 https 证书:https://github.com/FiloSottile/mkcert
或者使用 Laravel Valet。
因此,您的新 localhost URL 变为:https://mywebsite.local
然后将这个https
回调保存在谷歌上。在我的电脑上工作
【讨论】:
【参考方案5】:根据我的经验,您必须将 localhost 或 url 与公共***域(我使用 .bar)一起使用,并且所有重定向 url 都必须是 https(如果您想要验证 google 应用程序 - 工作表/驱动器 api 需要)
【讨论】:
【参考方案6】:您可以按照here 的描述将您的本地主机隧道连接到公共站点。
【讨论】:
【参考方案7】:步骤将对 Windows 用户有所帮助:
-
转到应该是 C:\Windows\System32\drivers\etc 的主机文件
在主机文件中创建添加条目,如
127.0.0.1 localhost.com
保存。将 localhost.com 用户作为 Google 开发控制台中的组织。
谢谢。
【讨论】:
【参考方案8】:我为此目的制作了一个简单的工具。
只需将您的重定向网址设置为http://redirectmeto.com/http://mywebsite.local/login/auth
【讨论】:
以上是关于可以在本地测试 Google 社交登录吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Groovy/Grails 上实现社交网络登录? [关闭]
是否可以在 Android Studio 中本地调试 Google Play 的应用内计费?