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

ruby-on-rails - 如何使用 bootstrap-social 中的按钮创建正确的链接以通过 Facebook 登录

我在我的 Rails 网站上使用 Omniauth 来实现使用 Facebook 登录。

我有以下按钮:

我按照这里的安装说明进行操作: Social Sign-In Buttons made in pure CSS based on Bootstrap and Font Awesome

我需要链接按钮以使用 Facebook 登录,使其看起来类似于:

我尝试了以下选项,但没有人正确显示按钮:

或者

0 投票
0 回答
136 浏览

ruby-on-rails - omn​​iauth-facebook Gem:omniauth.auth 有时有 nil provider 和 uid?

我的应用程序正在使用omniauth-facebook gem 1.6.0 版对用户进行身份验证。似乎有时在 中的facebook动作中OmniauthCallbacksControllerrequest.env["omniauth.auth"]散列将具有 nil 值provideruid

我将不胜感激任何关于为什么会发生这种情况的见解。这是我的 omniauth 配置初始化程序中的相关代码

0 投票
0 回答
77 浏览

ruby-on-rails-4 - 在omniauth令牌过期时提取FB帖子评论

我有一个 Rails 应用程序,它允许用户通过 Facebook 登录并发布墙帖,我有一个单独的后台进程将定期运行以收集这些墙帖的评论(通过 Facebook)并提取它们并在我的本地数据库中更新。

我使用omniauthand'omniauth-facebook', '1.4.0'进行登录/身份验证和"koala", "~> 1.10.0rc"facebook 帖子/评论提取。

我的问题是,我从中获得的身份验证令牌会omniauth在一段时间后过期,但是我的后台进程需要一个有效的身份验证令牌来提取评论(因为后台进程可以随时运行,而不仅仅是在用户登录时在)。

有人可以指导我如何执行这种实现的正确路径吗?

0 投票
0 回答
165 浏览

ruby-on-rails - 将对象保存到数据库

我有一个 ruby​​ on rails 4 应用程序,我正在使用omniauth-facebookgem 进行身份验证。我有

现在我想将用户的教育历史 ( @omniauth[:extra][:raw_info][:education])保存在数据库education的表列中。是一个包含对象(即返回)的 Array 对象。Auth@omniauth[:extra][:raw_info][:education]OmniAuth::AuthHash@omniauth[:extra][:raw_info][:education][0].classOmniAuth::AuthHash

Rails api 说“Active Record 可以使用 YAML 序列化文本列中的任何对象。为此,您必须通过调用类方法 serialize 来指定它。这使得存储数组、哈希和其他不可映射的对象成为可能无需做任何额外的工作。” 所以我做了以下事情,它似乎正在工作:

这有什么缺点吗?有没有更好的方法(比如使用json等)?我能想到的一个缺点是,以这种方式保存数据会使我可能不需要的搜索和查询变得困难。

非常感谢。

0 投票
3 回答
6788 浏览

ruby-on-rails - Rails 4.1.5 omniauth 强参数

将 Rails 4.1.4 升级到 4.1.5 后,我的 facebook omniauth 会话出现错误,此后一切正常。当我创建一个用户会话时,我得到一个ActiveModel::ForbiddenAttributesError

路线:

会话#创建控制器:

和这样的用户模型:

我可以通过添加许可来绕过 ActiveModel 错误!我的用户模型中的方法是这样的:

但它覆盖了数据库中的第一个用户......session[:user_id]似乎总是数据库中的第一个用户。

我不知道这是一个强参数问题、Omniauth 问题还是两者兼而有之?

0 投票
1 回答
149 浏览

facebook - Facebook 开发者主页上的“立即注册”按钮在哪里?它没有出现在我面前

我正在尝试设置 Facebook 开发者帐户。据此我需要访问Facebook 开发者主页,然后单击顶部的“立即注册”按钮。但是,该按钮似乎没有出现。我曾尝试在登录和未登录时访问该页面。他们是否移动了它?还是有其他问题?

谢谢!

0 投票
1 回答
34 浏览

ruby-on-rails - 使用 Omniauth-Facebook gem 时,方法“哪里”来自哪里?

下面显示的代码通常在将 ruby​​gems、Omniauth 和 Omniauth-Facebook 集成到 rails 应用程序时使用。我需要逐行解释这段代码。

0 投票
1 回答
243 浏览

ruby-on-rails - SessionsController中的Omniauth ArgumentError#create错误数量的参数(1代表2)Rails 4

在将 facebook omniauth 添加到我的 ROR 应用程序(http://richonrails.com/articles/facebook-authentication-in-ruby-on-railshttps://coderwall. com/p/bsfitw)但是当我访问“从 facebook 链接登录”时,我收到错误数量的参数错误。

这是我的用户模型(直接来自教程),错误似乎来自哪里,第 3 行突出显示为源

会话控制器

我没有第二个教程中的咖啡脚本,当我使用它时出现不同的错误。

任何帮助将不胜感激。

0 投票
1 回答
3837 浏览

ruby-on-rails - 找不到路径“/users/”的设计映射。怎么来的?

我现在正在使用设计/omniauth。通过 facebook/twitter 注册后,我想重定向到一个名为“verify-email”的页面,他们可以在其中验证他们的电子邮件地址是否正确。

我只是想让localhost:3000/users/verify-email页面现在正常工作。我去那个网址,我得到这个错误信息:

找不到路径“/users/update_email”的设计映射。这可能有两个原因:1)您忘记将您的路线包装在范围块内。例如: devise_scope :user do get "/some/route" => "some_devise_controller" end 2) 您正在测试绕过路由器的设计控制器。如果是这样,您可以明确告诉 Devise 要使用哪个映射:@request.env["devise.mapping"] = Devise.mappings[:user]。

所以这是我的routes.rb:

我认为我没有错误地将路由包装在范围块中(这是错误消息的 #1 所讨论的)。这是否意味着我需要明确告诉设计要使用哪个映射(这是错误消息的#2)?错误消息说我可以告诉设计使用哪个映射:@request.env["devise.mapping"] = Devise.mappings[:user].我应该把它放在我的 custom_devise_controllers/registrations_controller.rb 中吗?还是你们认为发生了其他事情?

我将包括我的“custom_devise_controllers/registrations_controller.rb”:

谢谢!如果你们想知道更多关于我的代码的信息,请告诉我。

0 投票
0 回答
350 浏览

ruby-on-rails - Facebook Auth / CORS 预检和 Omniauth

我正在使用客户端流程实现 facebook 身份验证。之后,我想使用 cookie 策略与后端的 Omniauth 框架集成。问题是,在登录 facebook 并尝试调用 Omniauth 回调后,在预检申请 ( OPTIONS) 上,我的全局选项路由无法识别,并且后端不返回任何 CORS 标头。

路线定义:

调用回调时,它永远不会传递application#handle_options_request

所有其他OPTION基于请求的路由都很好,但不是上面的这个。有没有人已经面临这个问题?

====

Omniauth 路由