问题标签 [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.
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相关的唯一代码是
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?
ruby-on-rails - 用户在 Rails 上使用 omniauth 登录并设置匿名用户名或别名
我对 Rails 非常陌生,在深入了解构建过程之前,想知道是否有人知道一种方法(或任何文章——我一直在寻找,但找不到我正在寻找的东西)执行以下操作:
1)让用户使用omniauth登录 2)在登录后指示用户设置一个匿名用户名,该用户名将在应用程序的整个活动中为该用户显示(所有omniauth使用信息保持私密)
有没有办法做到这一点?我发现这个问题使用 facebook 登录或创建一个帐户,但我本质上是让他们使用 facebook 登录并设置一个帐户。
如果有人有任何资源可以为我指明正确的方向,我将不胜感激!
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: true
omniauth配置解决了这个问题。后来,我发现这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:
客户:
会话控制器:
应用控制器:
ruby-on-rails - omniauth-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 应用程序是否添加了任何限制?有人知道吗?
ruby-on-rails - Omniauth Facebook 重定向到注册屏幕而不是创建用户
完全按照 gem 的教程进行操作,我似乎仍然遇到了一些问题。我首先单击链接通过 Facebook 注册并重定向到 Facebook。我单击确定并返回我的注册页面。没有创建新用户。如果我尝试再次单击注册链接,它只会在地址栏中刷新页面http://localhost:3000/register#_=_
。我究竟做错了什么?
用户模型
回调控制器
控制台代码
ruby-on-rails - 在 Rails 4 应用程序中从 Facebook 登录中检索电子邮件
我正在尝试使用 devise 和 omniauth-facebook gem 创建一个带有 Facebook 登录的 Rails 4 应用程序。
现在,我可以在数据库中保存一个用户,但电子邮件为空。
我已经尝试过其他教程,所有教程都一样,电子邮件为空。
我注意到当我点击“登录”按钮时,我得到以下链接:
这似乎是一个权限错误,但我似乎无法弄清楚为什么。
这是 self.from_omniauth 方法:
ruby-on-rails - omniauth-facebook AuthHash 没有 FB 电子邮件
我正在玩omniauth-facebook,看看我是否可以将它用于我未来的应用程序。
我按照本网站中的说明进行操作,https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview,一步一步。
在应用程序授权过程之后,我无法继续登录部分,因为 Devise 需要一个电子邮件地址,但不知何故,提供给我的 OmniAuth::AuthHash 只包含“名称”和“图像”字段。
我已经将范围设置为“电子邮件”,并且应用授权部分确认了这一点。
请帮忙。谢谢!
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
omniauth_callbacks_controller.rb
任何帮助将不胜感激!
版本信息:Rails 4.2.1 Ruby 2.0.0
ruby-on-rails - Omniauth facebook - 身份验证信息字段
我正在尝试为通过 facebook 登录的网站设置omniauth。问题是 facebook 没有发送“信息”字段。
我为不同的环境设置了 2 个 facebook 应用程序。
对于一个应用程序,响应具有字段
在开发环境中,我得到了响应
我想知道这是否是应用程序级别的设置,因为两者的代码相同。应用端的唯一区别是一个是 API v2.3,另一个是 2.4