问题标签 [omniauth-google-oauth2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1241 浏览

ruby-on-rails - Omniauth 不工作:未定义的方法“持续存在?” 对于零:NilClass

错误信息图片

我基本上完全按照以下链接中的说明进行操作,但我遇到了这个该死的错误?我不知道我该怎么做,wtf?我需要创建某种持久化方法吗?还有其他几个类似的问题,在阅读完所有这些问题后,它们根本没有帮助。请帮忙。

https://github.com/zquestz/omniauth-google-oauth2

Omniauths 控制器

用户模型代码片段

0 投票
0 回答
47 浏览

mocking - 无法模拟 Omniauth google

我正在使用 rails 应用程序,并希望在我的 rails 应用程序中自动执行“使用 google 登录”流程。

这是我在谷歌搜索后编写的测试用例。但是,它没有将我带到我的主页,而是将我重定向到其他 URL。不明白为什么会这样。

这是方法

它正在重定向到http://www.example.com/users/auth/google_oauth2_login/callback...nil

0 投票
1 回答
1960 浏览

ruby-on-rails - 让omniauth模拟登录以获取rails中的请求规范

我编写了一个测试来断言某些请求只能由登录用户执行,这些用户将使用 Devise & Omniauth 的 Google OAuth2 系统登录。我找不到模拟omniauth返回登录用户的方法,从Omniauth Wiki页面中获取了关于集成测试支持的示例

这是规格

不用说,我无法解释给定错误失败的原因或位置,我认为这是因为用户无法登录

0 投票
1 回答
300 浏览

ruby-on-rails - 设计omniauth google oath错误:“/users/auth/google_oauth2”的未定义方法“stringify_keys”:字符串

在将设计与omniauth-google-oauth2 gem 一起使用时,会在部分中生成一个链接,用于使用Google 登录。默认代码不呈现链接。

这是自动生成的片段(我添加了一些基于引导的样式)

这不起作用,我试着摆弄了一下并想出了

然而,这些选项都不起作用

0 投票
1 回答
115 浏览

ruby-on-rails - 如何在rails中使用omniauth提交隐藏表单

我在我的 Rails 应用程序中集成了 google 和 facebook omniauth。注册和登录效果很好。但是,我也有一个应该与omniauth 一起提交的表单,这样我就可以将表单内容作为参数访问。

这是一段代码:

下面是生成的 html 的屏幕截图如您所见,模态表单填充了“Oauth Oauth Oauth”这是我在 textarea 中编写的内容,当我单击按钮时,模态弹出并具有相同的内容我键入: 生成的 HTML

我试过在这里传递@question,但没有通过。在控制器中,我试图通过request.env["omniauth.params"]访问参数,但它始终为空白。

如何访问或将此内容参数传递给omniauth 并在控制器中访问它?

0 投票
1 回答
200 浏览

ruby-on-rails-5.1 - 是否可以将谷歌身份验证限制为特定的用户组?

我最近omniauth-google-oauth2在我的 Rails 5 应用程序之一中使用 gem 来验证用户,它运行良好。该应用程序适用于特定的用户组,在我的例子中是一所大学的学生。所有用户都有一个谷歌帐户,其电子邮件地址以@ait.asia或结尾@ait.ac.th

是否可以将身份验证限制为仅上述用户。即只有电子邮件地址以@ait.asiaor结尾的用户@ait.ac.th

0 投票
0 回答
417 浏览

ruby-on-rails - 如何使用 Minitest 和 Omniauth 在 Rails 5 中测试登录功能?

我正在为 Rail 5 应用程序编写测试,并且正在努力测试登录功能。我正在使用 Minitest 和 Omniauth(特别是 Google OAuth)。

current_user如果不存在,我的大多数方法都会检查并重定向到 root_path。我需要编写模拟的测试current_user,最好指定 id。

如果我做这样的事情:

测试失败,重定向到我的 root_path。我试图深入研究这一点,看起来当控制器检查时 current_user 没有设置。

抱歉,如果我遗漏了一些基本的东西,但有人可以解释我如何测试登录功能吗?

0 投票
1 回答
41 浏览

ruby-on-rails - 添加到请求周期中的不需要的八角字符 (#)

我正在使用omniauth-google-oauth2 gem 让用户使用 Google 登录。

在控制器中处理 oauth 响应后,用户被重定向到另一个页面:/dashboard. 登陆此页面时 - 一个 octothorpe(又名哈希/数字/磅)字符被添加到 URL:

从表面上看,这个英镑符号不知何故伴随着 oauth 响应而来。但我无法收集它是如何以及为什么会被传递到最后一页的。

任何线索是如何发生的,或者如何清除传递该字符的重定向?

0 投票
1 回答
290 浏览

ruby-on-rails - Rails google_omniauth2 '错误:redirect_uri_mismatch'

我一直在尝试将 google auth 添加到我的注册页面并按照指南中的步骤进行操作,但是一旦我登录到我的 google 帐户,我就会被重定向到 localhost:3000/# 并在我的控制台中出现以下错误:

{“错误”:“redirect_uri_mismatch”}

我已经尝试了这个现有的 stackoverflow线程中的所有解决方案,但是这些对这些用户有用的解决方案都没有对我有用。

我的设计.rb:

路线.rb

我还在我的谷歌开发者控制台中添加了以下重定向 uri:

https://localhost:3000/users/auth/google_oauth2/callback https://localhost:3000/users/auth/google_oauth2/callback/ http://localhost:3000/users/auth/google_oauth2/callback http://本地主机:3000/users/auth/google_oauth2/callback/

预先感谢您的回答!

0 投票
2 回答
1450 浏览

ruby-on-rails - 无法让 Rails OmniAuth for Google 与设计一起使用

我使用“omniauth-google-oauth2”gem 来设置谷歌登录以及设计登录。还在教程中提到的应用程序根目录中添加了一个 ssl (File => cacert.pem)

/config/initializers/omniauth.rb

/config/initializers/devise.rb

routes.rb

controllers/users/omniauth_callbacks_controller.rb

user.rb

sessions_controller.rb

在我看来(html.erb 文件)

当我点击登录链接时,我重定向到谷歌帐户选择/登录页面。当我使用帐户登录时,页面被重定向到根路径但用户尚未登录。但用户详细信息已记录到数据库用户表中。服务器日志如下所示,

出于安全原因,某些字段更改为星号(****)。用户信息被保存到数据库中的“用户”表中,甚至不需要任何权限。但是为什么用户没有登录呢?我的常规设计登录表单也不起作用。请帮助我理解我在这里做错了什么?提前致谢。