问题标签 [omniauth-facebook]

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 回答
4375 浏览

ruby-on-rails-4 - 即使在启用“嵌入式浏览器 OAuth 登录”并指定回调 url 后仍出现 Facebook 回调错误

我有一个使用 Facebook 登录功能的 rails(4.2.0) 应用程序。主要的宝石是设计(3.4.0)和omniauth-facebook(2.0.0)。我已经在 Facebook 上注册了该应用程序,并一直在使用它的测试应用程序进行开发。Facebook 登录功能在开发环境中工作。

尝试在生产服务器上使用 facebook 登录功能时,我收到错误消息“应用程序配置不允许给定 URL:应用程序的设置不允许一个或多个给定 URL。它必须与网站 URL 或画布 URL,或域必须是应用程序域之一的子域。”

在开发环境中使用的测试应用程序设置的详细信息如下 -

在生产环境中使用的注册应用程序设置的详细信息如下 -

我在我的 secrets.yml 中指定了以下内容

并且一直在设计初始化程序中使用来自 secrets.yml 的凭据作为

测试应用的基本设置 测试应用的回调地址 应用程序的基本设置 应用回调地址

实际的域名(黑色)在任何地方都没有拼写错误,并且在任何地方使用都是一样的。

包含与omniauth相关的routes.rb如下

路线如下

整个应用程序中与omniauth相关的唯一代码是

0 投票
1 回答
175 浏览

ruby-on-rails - OmniAuth facebook with Devise in Ruby on rails not passing app_id

I am setting up a rails application (4.1.10) using Devise. I am adding the OmniAuth Facebook integration using this devise guide : https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

I think I have set up everything that I should ( I am aware I should put the app_id and secret into ENV variables - which I will move onto once this works) However when I click my sign into facebook link I get an error:

The config is here:

The User model has the omniauthable set:

So why when I click my link does it miss out the appropriate ID?

0 投票
0 回答
67 浏览

ruby-on-rails - 用户在 Rails 上使用 omniauth 登录并设置匿名用户名或别名

我对 Rails 非常陌生,在深入了解构建过程之前,想知道是否有人知道一种方法(或任何文章——我一直在寻找,但找不到我正在寻找的东西)执行以下操作:

1)让用户使用omniauth登录 2)在登录后指示用户设置一个匿名用户名,该用户名将在应用程序的整个活动中为该用户显示(所有omniauth使用信息保持私密)

有没有办法做到这一点?我发现这个问题使用 facebook 登录或创建一个帐户,但我本质上是让他们使用 facebook 登录并设置一个帐户。

如果有人有任何资源可以为我指明正确的方向,我将不胜感激!

0 投票
3 回答
2050 浏览

ruby-on-rails - Rails 4、omniauth-facebook、rack-cors、Heroku 的 CORS 问题

概括:

我有一个 CORS 问题。我正在尝试从带有 Rails API 的 React 应用程序向 Facebook 进行身份验证。

我的应用程序在 localhost:8080 上运行,我的 api 在 Heroku 上运行。

我能够登录到 facebook 并在回调时创建一个会话,但 facebook 设置的 cookie 没有被omniauth 拾取。我使用omniauth-facebook 客户端身份验证。

我认为问题出在我的机架配置中。当我在 localhost:3000 上运行我的 api 时,它可以工作。

早些时候,我收到了错误csrf-detected,但通过添加 provider_ignores_state: trueomniauth配置解决了这个问题。后来,我发现这xhrFields: { withCredentials: true }是 cors 调用传递 cookie 所必需的。

最后的解决方案:最后,我通过将我的应用程序部署到具有域的 AWS 53example.com并在 Heroku 上的我的 api 上创建 CNAMES 'api.example.com' 来解决这个问题。

解决 CNAMES 需要一天的时间。example.com您可以使用命令 host和 host在终端中测试您的设置api.example.com

另一种解决方案是使用 nginx 作为代理。

版本:

问题:

路线:

应用程序.rb:

Omniauth.rb:

秘密.yml:

客户:

会话控制器:

应用控制器:

0 投票
1 回答
3748 浏览

ruby-on-rails - omn​​iauth-facebook 无法获取电子邮件地址

我创建了新的 Rails 应用程序并安装了 Devise 和omniauth-facebook gem。

并将我的 Facebook 应用程序设置为测试环境。

因此,我通过 facebook 登录并注册了我的新 Rails 应用程序,但 request.env 不包含电子邮件地址.info。

这是返回 request.env['omniauth.auth']

它机架 request.env['omniauth.auth']['info']['email']

如何通过 oauth 从 facebook 获取电子邮件地址?请任何人帮助我。

Rails 版本是 4.2.3 Ruby 版本是 2.2.2p95

这是宝石版本

配置/初始化程序/devise.rb

应用程序/控制器/omniauth_callbacks_controller.rb

应用程序/模型/user.rb

添加于 2015/7/11

我用我的旧测试 facebook 应用程序重试了相同的代码,并且可以获得完整的 public_profile 和电子邮件。

新的 Facebook 应用程序是否添加了任何限制?有人知道吗?

0 投票
2 回答
1695 浏览

ruby-on-rails - Omniauth Facebook 重定向到注册屏幕而不是创建用户

完全按照 gem 的教程进行操作,我似乎仍然遇到了一些问题。我首先单击链接通过 Facebook 注册并重定向到 Facebook。我单击确定并返回我的注册页面。没有创建新用户。如果我尝试再次单击注册链接,它只会在地址栏中刷新页面http://localhost:3000/register#_=_。我究竟做错了什么?

用户模型

回调控制器

控制台代码

0 投票
2 回答
384 浏览

ruby-on-rails - 在 Rails 4 应用程序中从 Facebook 登录中检索电子邮件

我正在尝试使用 devise 和 omniauth-facebook gem 创建一个带有 Facebook 登录的 Rails 4 应用程序。

我按照本教程https://www.digitalocean.com/community/tutorials/how-to-configure-devise-and-omniauth-for-your-rails-application

现在,我可以在数据库中保存一个用户,但电子邮件为空。

我已经尝试过其他教程,所有教程都一样,电子邮件为空。

我注意到当我点击“登录”按钮时,我得到以下链接:

https://www.facebook.com/login.php?skip_api_login=1&api_key=1452548131713566&signed_next=1&next=https%3A%2F%2Fwww.facebook.com%2Fv2.4%2Fdialog%2Foauth%3Fredirect_uri%3Dhttp%253A%252F% 252Flocalhost%253A3000%252Fusers%252Fauth%252Ffacebook%252Fcallback%26state%3Db9cfa351943875b105b0b9206a5de31d6fbed43cda4a59d3%26scope%3Demail%26response_type%3Dcode%26client_id%3D1452548131713566%26ret%3Dlogin&cancel_url=http%3A%2F%2Flocalhost%3A3000%2Fusers%2Fauth%2Ffacebook%2Fcallback% 3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3DPermissions%2Berror%26error_reason%3Duser_denied%26state%3Db9cfa351943875b105b0b9206a5de31d6fbed43cda4a59d3%23_%3D_&display=page

这似乎是一个权限错误,但我似乎无法弄清楚为什么。

这是 self.from_omniauth 方法:

0 投票
0 回答
118 浏览

ruby-on-rails - omn​​iauth-facebook AuthHash 没有 FB 电子邮件

我正在玩omniauth-facebook,看看我是否可以将它用于我未来的应用程序。

我按照本网站中的说明进行操作,https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview,一步一步。

在应用程序授权过程之后,我无法继续登录部分,因为 Devise 需要一个电子邮件地址,但不知何故,提供给我的 OmniAuth::AuthHash 只包含“名称”和“图像”字段。

我已经将范围设置为“电子邮件”,并且应用授权部分确认了这一点。

请帮忙。谢谢!

0 投票
2 回答
2303 浏览

ruby-on-rails - 用于 Facebook 的 omniauth.auth 未返回完整的哈希值并且无法成功登录 facebook

我正在处理来自http://www.theodinproject.com/ruby-on-rails/final-project的 facebook 克隆项目。

我被omniauth-facebook部分卡住了,我无法成功登录facebook。我认为问题可能是由于 request.env [“omniauth.auth”]。当我尝试提出 request.env["omniauth.auth"].to_yaml. 我得到以下不完整的哈希。它缺少很多信息,例如名字、姓氏、性别等。

** 为了安全起见,用 <> 替换了一些信息。

我也将它与设计一起使用。

其他一切似乎都设置正确,因为我已按照此处的说明进行设计和omniauth-facebook。https://github.com/plataformatec/devise/wiki/OmniAuth:-概述

用户.rb

设计.rb

路线.rb

omn​​iauth_callbacks_controller.rb

任何帮助将不胜感激!

版本信息:Rails 4.2.1 Ruby 2.0.0

0 投票
1 回答
2040 浏览

ruby-on-rails - Omniauth facebook - 身份验证信息字段

我正在尝试为通过 facebook 登录的网站设置omniauth。问题是 facebook 没有发送“信息”字段。

我为不同的环境设置了 2 个 facebook 应用程序。

对于一个应用程序,响应具有字段

在开发环境中,我得到了响应

我想知道这是否是应用程序级别的设置,因为两者的代码相同。应用端的唯一区别是一个是 API v2.3,另一个是 2.4