所以我的Omniauth的Twitter验证功能大约有95%,换句话说,它几乎是全功能的。单击我的应用程序上的|使用Twitter登录|按钮时,它会将我重定向到twitter,然后提示我输入Twitter凭据,然后重定向回该应用程序。
但是,在Twitter身份验证过程之后,我没有登录,而是在登录页面上收到以下错误:
1 error prohibited this user from being saved:
Email can't be blank
如何让Omniauth将我重定向到登录页面,在我的例子中是/posts页面?当Omniauth应该通过Twitter验证来授权
我正在开发一个rails应用程序,它允许用户使用omniauth通过facebook/twitter/linkedin登录。到目前为止,用户可以注册并使用身份验证创建帐户,但他们必须通过验证,因此会被转发到注册页面,在那里他们必须输入有效的名称、用户名和电子邮件。如果可能的话,我希望已经使用request.env"omniauth.auth“散列填充了这些字段。
下面是我的代码:
authentications_controller.rb
user = User.new
user.apply_omniauth(omniauth)
if user.save
flash[:noti
我在我的Rails应用程序中通过Devise使用OmniAuth。我正在尝试测试我的回调方法是否被正确调用,以及是否正常工作。我当前在运行规范时收到错误。
错误:
Failure/Error: get user_omniauth_authorize_path(:facebook)
ActionController::UrlGenerationError:
No route matches {:action=>"/users/auth/facebook", :controller=>"users/omniauth_callbacks"} mis
我正在使用omniauth-facebook gem,当我访问/auth/facebook时,我会得到:
undefined method `path' for "https://graph.facebook.com":String
快把我逼疯了。
config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, [xxx], [xxx]
end
config/routes.rb
match 'aut
我正在尝试在我的应用程序中实现stripe omniauth,但也使用google omniauth。两个gem都依赖gem omniauth,但在不同的版本中,有人知道如何解决它吗? 当我尝试捆绑时得到的错误: Bundler could not find compatible versions for gem "omniauth":
In Gemfile:
omniauth-google-oauth2 (>= 1.0.0) was resolved to 1.0.0, which depends on
omniauth (~>
我在尝试配置omniauth以便与cucumber进行集成测试时遇到错误(我通过wiki提供的Devise设置Omniauth )
如下所示:
Scenario: Test # features/omniauth.feature:3
Given I am signed in with facebook # features/step_definitions/omniauth_steps.rb:1
bad component(expected host component): http://www.example.com (URI::Inv
我正在使用各种杂食宝石,在我添加PayPal之后,我在运行bundle或bundle update时得到了这个错误。
Bundler could not find compatible versions for gem "omniauth-oauth2":
In Gemfile:
omniauth-dribbble (~> 0.0.1) x86-mingw32 was resolved to 0.0.1, which
depends on
omniauth-oauth2 (~> 1.1) x86-mingw32
omniauth-dribbble
我已经查看了gem wiki,并按照说明操作,但由于某种原因,我在做全方位测试时得到了一个nil:
user_sessions_controller_spec.rb:
require 'spec_helper'
describe UserSessionsController, "OmniAuth" do
before do
request.env["omniauth.auth"] = OmniAuth.config.mock_auth[:facebook]
end
it "sets a session variab
我正在编写一个示例应用程序,使用Devise + OmniAuth进行登录,使用twitter gem获取用户名。我想添加一些集成测试,但我不知道如何处理twitter gem。
下面是我的用户模型(大部分逻辑都在这里找到):
def build_authentication(omniauth)
# If the provider is twitter, get additional information
# to build a user profile.
所以我已经安装了Omniauth gem,它现在是用Devise实现的。
设计是很好的运作,然而,获得Omniauth设置已经是一场战斗,这是我仍在努力工作。我正在使用Omniauth和Twitter身份验证。
问题:当我点击‘登录twitter’图标时,它会把我重新引导到twitter,然后我会被提示进入我的twitter credntials..all,直到它开始重定向(回调)。
当它试图重定向到我的应用程序时,我得到以下错误:
NoMethodError in AuthenticationsController#create
undefined method `[]' for n
我已经建立了一个集成了facebook和twitter的rails应用程序,一切都在开发上运行良好,但在投入生产后(我已经将fb和twitter上的url设置更改为我的站点url subdomain.domain.com),oauth并不只是触发而已。它指向unicorn corn文件名并提供无效的URI错误。我已经粘贴了下面的错误。任何帮助都是非常感谢的。
URI::InvalidURIError (the scheme http does not accept registry part: unicorn_txt_browser (or bad hostname?)):
/usr/lo