gpt4 book ai didi

ruby-on-rails - 为什么 Google Oauth 在我的 Rails 应用程序中返回 `invalid redirect_urI`?

转载 作者:行者123 更新时间:2023-12-03 06:34:04 25 4
gpt4 key购买 nike

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

我已经设置了一个应用程序,并定义了客户端 ID 和 key 。但是我收到 redirect_uri 的参数值无效:不允许非公共(public)域:http://localhost/path/to/callback

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

感谢您的任何想法。

编辑

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

编辑2

我生成的请求如下所示:

https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=###########&redirect_uri=http%3A%2F%2Fmyapp.dev%2Fusers%2Fauth%2Fgoogle_oauth2%2Fcallback&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&approval_prompt=&access_type=offline

这是正确的吗?我已经尝试使用 client_id 进行此操作,包括和排除 .apps.googleusercontent.com 部分。似乎都不起作用。

最佳答案

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

我的解决方案是搭载公共(public)的“example.com”,并在我的/etc/hosts 文件中创建一个子域。子域将在我的本地开发盒上运行,并且谷歌会对 example.com 域感到满意。我通过 Google 控制台注册了重定向,并且重定向对我来说成功了。

我将以下内容添加到我的/etc/hosts 中:

192.168.33.100   devbox  devbox.example.com

就我而言,IP 是我机器的 IP。我也可以使用 127.0.0.1。

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

关于ruby-on-rails - 为什么 Google Oauth 在我的 Rails 应用程序中返回 `invalid redirect_urI`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10215863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com