为什么Google Oauth在我的Rails应用程序中返回“无效重定向urI”?

我正在将GoogleOAuth2添加到Rails应用程序中,但无法通过早期阶段

我已经设置了一个应用程序,并定义了客户端ID和密码。但是我得到了重定向的无效参数值。\u uri:不允许非公共域:http://localhost/path/to/callback

这是什么意思?这是因为我正在本地开发环境上测试吗

谢谢你的建议

编辑

这可能是因为应用程序的URI与发送URI不同。但是,当我转到Google并尝试授权我的开发应用程序的路径时,我得到了OAuth2重定向无效。这是使用本地托管应用程序的限制吗

编辑2

我生成的请求如下所示:

https://accounts.google.com/o/oauth2/auth?response_type=code&客户id=############&重定向\u uri=http%3A%2F%2Fmyapp.dev%2Fusers%2Fauth%2Fgoogle\u oauth2%2Fcallback&范围=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&批准提示=&访问类型=脱机

这是正确的吗。我已经用客户机id尝试过了,包括和不包括.apps.googleusercontent.com部分。两者似乎都不起作用

我在ubuntu上运行的python/tornado应用程序出现重定向错误。使用localhost不起作用,因为已接受的答案突出显示。谷歌想要一个公共领域

我的解决方案是搭载“example.com”,它是公共的,并在我的/etc/hosts文件中创建一个子域。子域将在我的本地开发盒上工作,google将很高兴使用example.com域。我通过谷歌控制台注册了重定向,重定向成功地为我工作

我在我的/etc/hosts中添加了以下内容:

192.168.33.100 devbox devbox.example.com

在我的情况下,IP是我的机器的IP。我也可以用127.0.0.1来代替

我的谷歌API控制台(https://code.google.com/apis/console)新客户端ID的设置为:

  • “应用程序类型:Web应用程序”
  • 通过“您的站点或主机名(更多选项)”:
    • 在“授权重定向URI”中,我输入了http://devbox.example.com/
    • 在“授权JavaScript源代码”中,我输入了http://devbox.example.com/

发表评论