首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rails错误‘google_omniauth2 : redirect_uri_mismatch’

google_omniauth2 : redirect_uri_mismatch 错误通常发生在使用 OmniAuth 和 Google OAuth2 进行用户认证时。这个错误提示表明你在 Google API 控制台中配置的重定向 URI 与你的应用程序实际使用的重定向 URI 不匹配。

以下是一些解决这个问题的步骤:

1. 检查 Google API 控制台中的重定向 URI

  1. 登录到 Google API 控制台。
  2. 选择你的项目。
  3. 点击左侧菜单中的“OAuth 同意屏幕”。
  4. 确保“已发布”状态。
  5. 点击“OAuth 2.0 客户端 ID”。
  6. 在“授权重定向 URI”部分,检查你列出的重定向 URI 是否与你的应用程序实际使用的重定向 URI 匹配。

2. 更新 Rails 应用程序中的重定向 URI

确保你的 Rails 应用程序中配置的重定向 URI 与 Google API 控制台中的一致。

使用 omniauth-google-oauth2 gem

如果你使用的是 omniauth-google-oauth2 gem,可以在 config/initializers/omniauth.rbconfig/initializers/devise.rb 中配置重定向 URI:

代码语言:javascript
复制
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET'], {
    redirect_uri: 'http://your-app-domain.com/auth/google_oauth2/callback'
  }
end

确保 redirect_uri 与 Google API 控制台中配置的完全一致。

3. 检查环境变量

确保你的环境变量中配置的 GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET 是正确的,并且与 Google API 控制台中的一致。

4. 清除缓存

有时候,浏览器缓存可能会导致重定向 URI 不匹配的问题。尝试清除浏览器缓存或使用隐身模式进行测试。

5. 重新授权应用

如果以上步骤都没有解决问题,尝试在 Google 账户中移除该应用的授权,然后重新授权。

示例配置

以下是一个完整的示例配置:

代码语言:javascript
复制
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET'], {
    redirect_uri: 'http://your-app-domain.com/auth/google_oauth2/callback',
    scope: 'email profile',
    prompt: 'consent',
    image_aspect_ratio: 'square',
    image_size: 50
  }
end
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • gitlab升级版本cicd runner页面500错误

    一个8.5.7-15.11.0,另外一个10.8.7-15.11.0.这里区别说明,是因为两个解决的过程稍微不一样,升级完成后页面都是一样的,点了一遍左侧栏:图片CI/CD页面runner 包了500的错误...gitlab runner 500:图片基本原因都是升级or迁移后gitlab-secrets.json清空造成的,下面详细记录一下两个集群的操作过程:gitlab升级版本ci/cd runner页面500错误解决方案...cd /var/log/gitlab/gitlab-rails/tail -f production.log图片图片gitlab-ctl tail | grep error图片[root@VM-5-14...-rockylinux gitlab-rails]# sudo gitlab-rails dbconsole --database mainpsql (13.8)Type "help" for help.gitlabhq_production...,参照了:https://blog.csdn.net/ZH_CS/article/details/124709638sudo gitlab-rails consule------------------

    1.2K20

    慢的不是 Ruby,而是你的数据库

    结果令人失望,Ruby 和 Rust 的性能都很差劲,甚至存在一些错误,而且都没有进行性能优化。...然而,Rails 的魔力使其从此开始使用这一特性。每次页面加载都会导致大约 2 秒钟的数据库查询,占用数据库服务器上的所有 CPU 和 IO。 当然,这是个愚蠢的错误。...但我们应该注意到的是,这种错误在代码库中比比皆是。这些项目之所以继续运行,唯一的原因是 Heroku 服务器的巨大成本(1200 美元 / 月),能为数百访问者提供服务一天。...最糟糕的是,这些 “错误” 被团队贴上了 “以 Rails 方式完成” 的标签。 Rails 里到处都是这样的 footgun(footgun,意即伤自己的脚的枪,Rails 称其为“尖刀”。...使用 Rails,很容易累积许多小错误,从而使数据库成为瓶颈。但是,即使所有这些都在你的控制之下,高性能的数据库调用仍然比许多其他调用慢很多。

    13630

    如何在Ubuntu 14.04上使用PostgreSQL和Ruby on Rails应用程序

    然后我们将向您展示如何创建使用PostgreSQL作为其数据库服务器的rails应用程序。 准备 本教程要求具有可用的Ruby on Rails开发环境。...现在您可以输入以下命令退出PostgreSQL控制台: \q 我们现在创建一个Rails应用程序。 创建新的Rails应用程序 在主目录中创建一个新的Rails应用程序。...如果你在这一点上得到一个错误,重温以前的第(配置数据库连接),以确保在database.yml中的host,username和password是正确的。...例如,要运行开发环境(缺省值),请使用以下命令: rails server 这将在端口3000上的本地主机上启动Rails应用程序。...3000上的服务器公共IP地址在Web浏览器中访问您的Rails应用程序: 访问网络浏览器: http://server_public_IP:3000 如果您看到“欢迎登陆”Ruby on Rails页面

    3.4K00

    GitLab安装与基础使用

    WeiyiGeek. ---- 0x04 入坑解决 (0) 用户pull与push代码到gitlab常见错误 错误1:The requested URL returned error: 403 原因:表示我们没有权限来...pull/push相关代码需要修改相关gitlab账号的权限为Development或者Maintianer; 错误2:To gitlab.weiyigeek.top:newproject/secopsdev.git...WeiyiGeek. (2)GitLab数据库引起的502错误问题及解决方案 描述:打开GitLab的主页地址http:/gitlab.weiyigeek.top/报错502,重启或检查状态发现都正常sudo...gitlab-ctl status,并且检查了端口号并没被占用,检查刷新配置gitlab-ctl reconfigure发现了错误; 错误信息如下: #gitlab-ctl reconfigure...在同一台Centos7机器上卸载了旧版本的gitlab后,接着又重新安装新版本的gitlab-ce 在安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was

    8.5K20
    领券