问题标签 [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 投票
0 回答
73 浏览

ruby-on-rails - 如何在rails中使用相同的身份验证回调对两种类型的用户进行身份验证?

我想使用 rails 6.0.0 创建一个网页,它有两种类型的用户(模型)管理员用户/查看器

但问题是我想为具有相同回调地址的 facebook 或 google_oauth2 的两个用户进行身份验证(注册/登录):/auth/:provider/callback

在互联网、github 和 youtube 上,我发现文章和视频仅用于验证单个模型。但我想对两个模型进行身份验证(注册/登录)。

任何人都可以帮忙吗?请给出一个想法,通过一些初学者可以理解的例子来验证这两个模型。

0 投票
1 回答
142 浏览

ruby-on-rails - 如何在没有设计gem的情况下在rails中使用相同的身份验证回调对两种类型的用户进行身份验证?

我想使用 rails 6.0.0 创建一个网页,它有两种类型的用户(模型),没有设计 gem。管理员用户/查看者

但问题是我想在没有设计 gem 的情况下使用 facebook 或 google_oauth2 为两个用户进行身份验证(注册/登录),回调地址相同:/auth/:provider/callback

在互联网、github 和 youtube 上,我发现文章和视频仅用于验证单个模型。但我想对两个模型进行身份验证(注册/登录)。

任何人都可以帮忙吗?请给出一个想法,以一些示例验证这两个模型,而无需设计初学者可以理解的宝石。

0 投票
1 回答
171 浏览

devise - 使用 Omniauth 登录 Devise 以及访问 API

在我们的应用程序中,我们允许用户使用 Omniauth 通过可用的 API 访问不同提供商(Google 日历、Microsoft Outlook、Facebook 时间线等)的数据。为此,我们拥有omniauth.rb所有必要的配置,例如:

现在我们希望添加使用 Google 登录作为登录的替代方式。由于我们使用 Devise 进行用户会话管理,因此我们希望使用 Devise 的 Omniauth 功能来实现使用 OAuth 提供商(如 Google)的登录。但是,一旦我们将模型设为“omniauthable”,现有的 Omniauth 功能就会No route matches [GET] "/auth/facebook"在尝试添加 oauth 帐户以访问 API 时停止工作。

在 Devise 和我们自己的普通 OAuth 流程中结合使用 Omniauth 的正确方法是什么?

0 投票
0 回答
58 浏览

ruby-on-rails - Rails omniauth-google-oauth2 图像大小不适用

我正在尝试将 image_size 应用于omniauth-google-oauth2,但我尝试的一切都没有奏效。

我的设计.rb

我正在使用我的 application_helper 来显示图像:

如果我检查 image_url 它仍然显示https://lh3.googleusercontent.com/a-/AOh14Gg9KNrUy_97f3wDhevAJGE52nT8Y6ho48Uo9vJwHw大小没有任何变化

我也试过auth.info.image.sub('?sz=32','?sz=100')了,但是没有用。

0 投票
1 回答
55 浏览

ruby-on-rails - omn​​iauth-google-oauth2 日历同步提供无效凭据

我正在使用带有分支的omniauth-google-oauth2:'v0.2.10'用于代码中的以下范围

但是当我尝试同步日历时,它给了我 invalid_credential 错误如下

没有更多详细信息可供回应。

如果我做错了什么,请建议我。

0 投票
0 回答
121 浏览

omniauth - request.env['omniauth.oauth'] 返回 nil

我正在使用omniauth-google-oauth2 gem 来授权google 帐户,并获取授权码,但即使将gem 升级到最新版本后, request.env['omniauth.auth'] 仍为nil

我的宝石文件

全域认证.rb

结尾

路线.rb

socual_accounts_controller.rb

是否可以从授权码中获取 access_token 和 refresh_token ?这也会有很大帮助

提前致谢

0 投票
1 回答
496 浏览

curl - Google API - OAuth 2.0 - 尝试使用 curl 获取 AccessToken

尝试使用 curl 获取 AccessToken,但出现“https://accounts.google.com/o/oauth2/token:没有这样的文件或目录”错误有人可以帮助我做错什么吗?

主要是,我想知道我是否正确设置了客户端密码,虽然我很不确定,但我真的很感激一些指导。

(已用*编辑了某些部分)

0 投票
2 回答
3149 浏览

ruby-on-rails - 在 Rails API 中使用omniauth-google-oauth2

我正在尝试在我的 Rails API 中实现从谷歌功能登录。

我将此行添加到我的 device.rb

我还在我的凭据中添加了客户端 ID 和密码。

这是我的谷歌功能

这是我来自 User.rb 的 from_omniauth 函数

在实现 API 时,我不知道应该使用request.env["omniauth.auth"]还是硬编码从 OAuthPlayground 获得的访问令牌。如果我对令牌进行硬编码,如何从该令牌访问用户信息?

我还在我的应用程序中使用 Devise for Authentication,遵循本教程: https ://www.digitalocean.com/community/tutorials/how-to-configure-devise-and-omniauth-for-your-rails-application

0 投票
0 回答
38 浏览

ruby-on-rails - 如何将标头注入 OmniAuth 模拟测试

我正在使用omniauth-google-oauth2 gem 通过谷歌帐户登录。最近我看到这篇文章https://developers.googleblog.com/2020/08/guidance-for-our-effort-to-block-less-secure-browser-and-apps.html。即使它不会影响到我担心单元测试的普通用户。我想使用无头浏览器。所以我想通过注入这篇文章(Google-Accounts-Check-OAuth-Login:true)中描述的标头来测试它。在 omiauth 文档中找不到任何 api 方法。

0 投票
0 回答
20 浏览

ruby-on-rails - 切换服务器时omniauth google突然失败

我的代码曾经工作。将服务器移到新服务器后,突然我无法再使用 Google 帐户登录。我可以看到 google 向我显示了我的帐户列表,并且在我选择一个帐户后,google 将使用所有参数重定向到我的服务器。

这是我服务器上的日志。

method=GET path=/user/auth/google_oauth2/callback format=html controller=Users::OauthController action=failure status=302 duration=1.79 view=0.00 db=0.00 location=http://gokien.info/user/sign_in time=2020-12-09 14:35:39 +1100 remote_ip=123.123.123.123 params={"state"=>"the state", "code"=>"the code", "scope"=>"email profile openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile" , "authuser"=>"0", "prompt"=>"none" } user_id=referer=https://accounts.google.com/log_level=debug

这是我的 OauthController 代码