Tag: oauth

使用设计设置多个提供者:omniauthable

我刚刚得到“Devise 1.2支持与OmniAuth教程的集成” ,但是我想设置多个提供者来引用同一个用户。 我正在寻找一些好的示例代码来查看。 我也不确定“多个提供者”是否可能使用默认的“设计:omniauthable”实现,我想达到“一个用户多个提供者”的效果,如Ryan Bates 235-omniauth-part-1,236所述-omniauth-part-2但是我想问一下,如果你已经知道一些例子,是否可以采用更清晰的方式,更少被黑客攻击的混合模型。 在此先感谢luca

获取(omniauth-facebook)和(omniauth-twitter)工作

我正在使用: Ruby on Rails 4 设计3.0.3 omn​​iauth(1.1.4) omn​​iauth-facebook(1.4.1) omn​​iauth-twitter(1.0.0) 我最近建立了我的omniauth-facebook ,一切正常。 现在我想添加omniauth-twitter但不知怎的,我搞砸了,非常糟糕。 1.)设置我的Omniauth-Facebook我做到了这一点(简而言之): gem ‘omniauth’ gem ‘omniauth-facebook’ 2.)在我的用户模型中添加了“ provider ”和“ uid ”列。 3.)接下来,我在config / initializers / devise.rb中声明了提供程序: require “omniauth-facebook” config.omniauth :facebook, “App_ID”, “App_Secret”, {:scope => ’email,offline_access’, :client_options => {:ssl => {:ca_file => ‘lib/assets/cacert.pem’}}, :strategy_class => OmniAuth::Strategies::Facebook} 4.)我编辑了Model User.rb # Facebook Settings def self.find_for_facebook_oauth(auth, signed_in_resource = […]

将Twitter帐户连接到现有的设备帐户

用户可以通过Devise注册。 注册后,用户应该可以连接他的 Twitter Account 在过去,我使用omniauth让facebook和twitter连接工作。 但在这种特殊情况下,我需要将Twitter帐户链接到现有的设备帐户。 任何人都可以帮助我从哪里开始或阅读,我完全无能为力。

在Rails应用程序中使用Omniauth-oauth2刷新令牌

我在rails中使用omniauth-oauth2来validation支持oauth2的站点。 在做了oauth之后,该网站给了我以下内容,然后我将其保存到数据库中: 访问令牌 Expires_AT(滴答) 刷新令牌 是否存在omniauth方法在令牌过期后自动刷新令牌,或者我应该编写自定义代码来执行相同的操作? 如果要编写自定义代码,帮助程序是编写逻辑的正确位置吗?

如何获取Magento REST API的OAuth访问令牌?

我正在尝试访问我的Magento商店的REST API,但我似乎“似乎获得了访问令牌。 我一直收到400 Bad Request (OAuth::Unauthorized)错误。 这是我正在使用的代码: require ‘oauth’ require ‘mechanize’ @m = Mechanize.new @title = @m.get(‘http://178.62.173.99/’).title @callback_url = ‘http://178.62.173.99/’ @consumer = OAuth::Consumer.new( ‘b3ba0db944d1ad0d416329844734db54′, ’38fedbc5cdeed7803547b24a0980c834’, :request_token_path => ‘/oauth/initiate’, :authorize_path=>’/admin/oauth_authorize’, :access_token_path=>’/oauth/token’, :site => ‘http://178.62.173.99’ ) @session = {} @request_token = @consumer.get_request_token(:oauth_callback => @callback_url) @session[:request_token] = @request_token @session[:authorize_url] = @request_token.authorize_url(:oauth_callback => @callback_url) @m.get(@session[:authorize_url]) do |login_page| auth_page = […]

403尝试获取Google Analytics数据时权限不足错误

我正在开发RoR应用程序,允许用户使用Google帐户登录并从他的某个分析帐户下载/上传报告数据。 我使用omn​​iauth-google-oauth2 gem进行授权,使用Google帐户和google-api-client与Google Analytics进行互动。 问题是,当我尝试使用analytics.management.accounts.list方法获取帐户列表时,将google令牌作为授权参数之一传递,GA会响应403 Insufficient permissions错误。 我想,我必须让用户在授权过程中阅读Google Analytics数据。 我怎样才能做到这一点? 我已经阅读了很多相关问题,但没有找到解决我确切问题的方法。 这是代码: require ‘google/api_client’ client = Google::APIClient.new(:application_name => ‘something you like’, :application_version => ‘1’) client.authorization.access_token = ‘HERE_GOES_TOKEN’ ga = client.discovered_api(‘analytics’, ‘v3’) client.execute(:api_method => ga.management.accounts.list)

Linkedin Ruby Gem(令牌在回调中被拒绝)

我一直在使用LinkedIn Ruby Gem并遇到问题。 这是我的rails服务器的输出。 Started GET “/session/callback?oauth_token=618b3bc2-d8f6-4c9c-99a2-10573c8b3c3c&oauth_verifier=09858” for 127.0.0.1 at Tue Jun 12 19:14:11 -0700 2012 Processing by SessionController#callback as HTML Parameters: {“oauth_verifier”=>”09858”, “oauth_token”=>”618b3bc2-d8f6-4c9c-99a2-10573c8b3c3c”} Completed 500 Internal Server Error in 163ms OAuth::Problem (token_rejected): app/controllers/session_controller.rb:28:in `callback’ Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.2ms) Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms) Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (12.9ms) 这是我的session_controller.rb中的代码: require ‘linkedin’ class SessionController “http://#{request.host_with_port}/session/callback”) session[:rtoken] = request_token.token […]

在ROR应用程序中使用Facebook和OAuth登录时出错

伙计们,我放弃了。 我创建Rails应用程序,并希望登录Facebook。 我看看railscast,阅读一些教程以及关于stackoverflow的20多个问题…但我仍然无法在我的网站上使用fb登录..所以,请帮助我解决这个问题… 的Gemfile gem ‘omniauth-facebook’ gem ‘koala’, ‘~> 1.10.0rc’ 配置/初始化/ omniauth.rb OmniAuth.config.logger = Rails.logger Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, Rails.application.secrets[‘APP_ID’], Rails.application.secrets[‘APP_SECRET’], { scope: ‘user_about_me’ } end index.html.slim h2 Welcome = link_to ‘Login with Facebook’, ‘/auth/facebook’ Facebook – >开发者 – > MyApp – > Settigns Basic: 设置高级 在“使用Facebook登录”链接并在popap中确认后,我有错误: 应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL。 它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域。 有人可以解释我,Facebook或我的手有什么问题吗? 更新:好的,另一个错误:当Valid OAuth redirect […]

到期后无法刷新令牌

我可以validation并获取access_token和相应的refresh_token罚款(后续API交互也很好)。 但是,我似乎只能在access_token实际到期之前刷新令牌(使用grant_type=refresh_token POST到/oauth/token )。 到期后,相同的刷新代码(完全在文档中提供)将返回错误invalid_grant 。 我正在使用soundcloud-ruby SDK,FWIW,但我可以通过curl重现它。 顺便说一句,我发现谷歌集团的一些旧消息提到我可以请求一个非过期的令牌,但我没有在文档中的任何地方看到这一点。 这仍然是一个可行的选择吗?

如何在Ruby中使用OpenID访问Google通讯录

我正在使用devise登录omniauth,authid。 当用户登录时,我得到了 user_info: name: Riccardo Tacconi last_name: Tacconi email: email@gmail.com first_name: Riccardo uid: https://www.google.com/accounts/o8/id?id=xxxxxxxxx provider: google_apps 我找到了一个插件: http : //stakeventures.com/articles/2009/10/06/portable-contacts-in-ruby来获取Google通讯录。 我只需要使用这个方法: @client = PortableContacts::Client.new “http://www-opensocial.googleusercontent.com/api/people”, @access_token 但我需要一个令牌。 我只有uid。 您是否知道如何获取访问令牌? 没有关于访问谷歌的任何文档。