我想在本地计算机上测试Google Social登录系统。但是,当我创建新的OAuth按钮时:“创建新客户端ID”,它要求我填写授权重定向URI,该URI需要是有效地址(以.com或.org结尾)。
显然,当我们在本地开发时,我们最后没有.com或.org。我有一个虚拟主机设置...我的本地开发地址是mywebsite.local
有没有办法输入重定向URI为mywebsite.local
没有receinv错误:
无效的重定向:http://mywebsite.local/login/auth必须以公共顶级域名(例如.com或.org)结尾
您可以将“授权重定向URI”设置为本地IP(如http://127.0.0.1/callback),它对我来说很好。
令人痛苦的是谷歌不允许用户将外部IP(假设您的服务器IP如99.99.99.99)配置为“授权重定向URI”,谷歌希望“授权重定向URI”以公共顶级结束域名(例如.com或.org)。
继pinoyyid的回答,这是你在/etc/hosts
文件中想要的。
0.0.0.0 mywebsite.com
我把新规则放在已经存在的所有其他东西之后。
然后,您可以访问mywebsite.com上的开发站点,并在Google Developer's Console中输入正确的重定向URL。
只需将您的开发服务器IP地址映射到/ etc / hosts中的dev.example.com即可。
关键是在本地环境中使用https
URL。
在OSX上,您可以安装本地https证书:https://github.com/FiloSottile/mkcert
或使用Laravel代客。
因此,您的新localhost URL将变为:https://mywebsite.local
然后在谷歌上保存这个https
回调。适用于我的电脑
根据我的经验,你必须使用localhost或url与公共顶级域名(我使用.bar),所有重定向网址都必须是https(如果你想要经过验证的谷歌应用程序 - 需要sheet / drive api)
如here所描述的那样,你可以将你的localhost隧道扩展到公共站点。