标签: omniauth

如何降级捆绑包或升级rails?

我在我的gemfile中添加了omniauth gem并尝试运行bundle install,但是收到了有关rails和bundler版本不兼容的消息.我试图更新rails,但收到有关与其他gem不兼容的消息.如何将bundler降级到1.0?

$ bundle install
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (= 3.0.0) ruby depends on
      bundler (~> 1.0.0) ruby

  Current Bundler version:
    bundler (1.1.1)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Run Code Online (Sandbox Code Playgroud)

$ bundle update rails
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Bundler could not find …
Run Code Online (Sandbox Code Playgroud)

gem bundler omniauth ruby-on-rails-3 gem-bundler

69
推荐指数
5
解决办法
4万
查看次数

OmniAuth和Facebook:证书验证失败

我已经按照Railscast#235尝试建立一个最小的Facebook身份验证.

我首先建立了一个Twitter身份验证,就像Ryan本人所做的那样.这完美无瑕.

然后我继续添加Facebook登录.但是,在授权应用程序后,重定向/auth/facebook/callback失败并显示:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Run Code Online (Sandbox Code Playgroud)

我正在使用localhost.我没有在应用程序中设置任何SSL.我究竟做错了什么?

facebook ruby-on-rails railscasts omniauth

65
推荐指数
6
解决办法
5万
查看次数

将omniauth facebook登录变为弹出窗口

我正在使用带有rails的omniauth gem,它可以很好地登录用户,但每次它都会带你到fb登录页面然后重定向你.我想知道是否有办法做大多数页面的操作并在弹出窗口中显示fb登录,然后在完成后重新加载父div.有任何想法吗?

谢谢!

facebook ruby-on-rails omniauth

58
推荐指数
2
解决办法
2万
查看次数

通过OmniAuth传递参数

我需要将一些参数传递给回调动作.从源代码来看,OmniAuth应该将查询字符串添加到回调URL,但奇怪的是它没有.当我打开

/auth/facebook?from=partner
Run Code Online (Sandbox Code Playgroud)

...并被重定向到Facebook,return_url只是

/auth/facebook/callback
Run Code Online (Sandbox Code Playgroud)

......没有任何参数.

ruby-on-rails omniauth

54
推荐指数
5
解决办法
2万
查看次数

在Rails 3中设置环境变量(设计+ Omniauth)

我一直试图弄清楚Ryan Bates在他的Facebook身份验证截屏中如何设置以下"FACEBOOK_APP_ID"和"FACEBOOK_SECRET"环境变量.

provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET']
Run Code Online (Sandbox Code Playgroud)

有类似的问题,但没有我能够在Rails 3.2.1上工作的答案.

更新:

截至2013年5月,我处理ENV变量的首选方法是通过费加罗宝石

ruby-on-rails environment-variables railscasts omniauth ruby-on-rails-3

53
推荐指数
3
解决办法
4万
查看次数

使用omniauth和Facebook验证用户是否为rails API?

我正在构建一个Rails API,并已成功为用户构建了一种使用Omniauth Identity进行身份验证的方法.

我们只需从客户端发送到auth/identity/callback,传入auth_key和密码.
然后,服务器返回一个门卫令牌,用户随后使用该门牌令牌来访问应用程序并识别自己.

该图说明了这一点:

客户服务器关系

我们现在想要从客户端实现Facebook登录,但在理论上和实际上都无法使其正常工作.

在一个简单的带有Omniauth身份的Rails应用程序上,你只需要调用auth/facebook,但是如果我们在客户端中放置一个链接,它会调用服务器,然后服务器会记录:

INFO -- omniauth: (facebook) Request phase initiated.

该应用程序在Facebook中正确设置了ID和密码,因此登录提示可能会返回到服务器?

虽然链接身份验证我很困惑.任何帮助感激不尽!

在此输入图像描述

authentication facebook ruby-on-rails omniauth

47
推荐指数
1
解决办法
2万
查看次数

回调重定向不保留会话

我有一个方案,当我使用真正的omniauth时工作得很好,但是当我用黄瓜/水豚的模拟auth运行它时失败了.

在回调中,当我这样做时sign_in @user,它成功创建用户并登录... current_user已设置.但是当我这样做时redirect_to request.env['omniauth.origin'] || '/',在接下来的行动中,current_user现在是零.

我已通过屏幕截图确认/暂停浏览器它不能使用模拟身份验证.firefox和chrome驱动程序中出现相同的错误.

知道为什么会发生这种情况吗?

/features/support/env.rb:

Cucumber::Rails::Database.javascript_strategy = :truncation
Run Code Online (Sandbox Code Playgroud)

场景:

@javascript
Scenario:
    Given I am on the home page
    When I press "Login"
    And I should see "Login with Twitter" in the selector "#login-modal"
    Given Omniauth returns a user with provider "twitter" and uid "1" and nickname "foo"    
    When I login with Twitter
    Then I should be logged in as "foo"
Run Code Online (Sandbox Code Playgroud)

步骤定义:

Given(/^Omniauth returns a user with provider "(.*?)" …
Run Code Online (Sandbox Code Playgroud)

cucumber capybara omniauth omniauth-twitter

46
推荐指数
1
解决办法
570
查看次数

Omniauth Facebook错误 - 法拉第::错误:: ConnectionFailed

(仅供参考:我正在关注来自railscast#241的Twitter Omniauth.我成功使用Twitter,现在进入Facebook)

当我使用Omniauth登录Facebook时,我收到此错误:

Faraday::Error::ConnectionFailed
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

这是我的代码

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, '<key from fb>', '<another key from fb>'
end
Run Code Online (Sandbox Code Playgroud)

实际上我的代码中没有什么,我只是在sessionController中,我想使用to_yaml来查看request.env中的内容

class SessionsController < ApplicationController
    def create
        raise request.env["omniauth.auth"].to_yaml
    end
end
Run Code Online (Sandbox Code Playgroud)

如何解决法拉第错误?

facebook omniauth faraday-oauth

45
推荐指数
4
解决办法
2万
查看次数

如何解救OmniAuth :: Strategies :: OAuth2 :: CallbackError?

我正在使用Omniauth构建Rails应用程序以进行登录服务.要对Google进行身份验证,我使用的是OmniAuth Google OAuth2策略.

当用户点击"允许访问"按钮时,一切正常.但是当用户点击"不再感谢"按钮时,会出现以下错误.

OmniAuth::Strategies::OAuth2::CallbackError
Run Code Online (Sandbox Code Playgroud)

我尝试在应用程序控制器中添加以下救援代码.

class ApplicationController < ActionController::Base
  rescue_from OmniAuth::Strategies::OAuth2::CallbackError, :with =>
    :omniauth_callback_error_handler

 protected

 def omniauth_callback_error_handler
  redirect_to init_sign_in_users_path
 end
end
Run Code Online (Sandbox Code Playgroud)

但没有运气.

任何的想法?

谢谢 :)

ruby-on-rails callback oauth-2.0 omniauth ruby-on-rails-3

40
推荐指数
3
解决办法
1万
查看次数

如何摆脱OpenSSL :: SSL :: SSLError

我正在尝试使用OmniAuth对Facebook用户进行身份验证.最初,它工作,但一路上它只是停止工作,并开始给我这个错误信息:

OpenSSL :: SSL :: SSLError SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败

相同的代码适用于Twitter,我似乎无法理解为什么它不适用于Facebook.我在网上寻求帮助,但我没有成功.

这是我正在建立的网站的链接:http://www.bestizz.com/
这个网址会给你错误信息:http://www.bestizz.com/auth/facebook

facebook ruby-on-rails omniauth omniauth-facebook

31
推荐指数
4
解决办法
5万
查看次数