Tag: oauth

使用RoR,FbGraph Gem和S3将照片发布到Heroku的Facebook Open Graph

我试图允许用户在他的Facebook墙上分享照片。 我使用Paperclip将所有应用程序的照片存储在S3上。 因此,在下面的示例中,@ photo.image.url是我要在some_album中发布的图像的S3url。 使用fb_graph gem,这在localhost上相对容易。 在我的控制器中,我有: the_photo = open(@photo.image.url) some_album.photo!( :access_token => access_token, :source => the_photo ) local_photo在localhost上的类是“Tempfile”。 在heroku上,事情变得棘手。 使用相同的代码两个(看似相关)的事情发生。 首先,the_photo是类类型“stringIO”。 第二,当FbGraph发布到Facebook时,我收到以下错误: FbGraph::InvalidRequest (OAuthException :: (#324) Requires upload file): 下面是一些可能有帮助的事实要点: Heroku是一个只读系统,但显然你可以写入Tempfile 我在Rails 3.1.0上 Ruby 1.9.2 Heroku Stack Bamboo-Miri 任何帮助/想法/工作/问题将不胜感激。

从Rails调用Uber API:{“error”:“invalid_client”}

在这一天。 使用Rails调用Uber API并且无法获取访问令牌。 抓取授权代码可以正常工作,但是交换访问令牌则不行。 我尝试过使用和不使用OAuth 2.0 gem并确保所有密钥都准确无误。 也试过两个独立的优步账户。 所有组合都会出现相同的错误: {“error”: “invalid_client”} 。 我将在下面发布非OAuth代码。 params[:code]是Uber返回的auth代码。 uri = URI.parse(‘https://login.uber.com/oauth/v2/token’) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true headers = { # authentication content-type is not json # ‘Content-Type’ => ‘application/x-www-form-urlencoded’, ‘Authorization’ => ‘Token ‘ + @server_token } request = Net::HTTP::Post.new(uri.path, headers) request.set_form_data({ ‘client_id’ => @client_id, ‘client_secret’ => @client_secret, […]

通过facebook,gmail,twitter等在rails应用中找到朋友

我已经在rails中构建了一个社交网络应用程序,我正在寻找一种简单的方法来允许用户登录其他各种帐户(OAuth?),如facebook,twitter,gmail,其他邮件客户端等,看看他们的朋友/是否这些网站上的联系人已注册我的网站。 此外,我将添加function,允许用户通过这些相同的网站邀请他们的非注册好友访问我的网站。 在将来,我还希望这样做,以便用户可以在我的网站上将这些提交内容发布到这些不同的其他网站。 但此时,最重要的function是让用户能够看到这些其他网站上的哪些联系人已注册我的网站。 最好的方法是什么? 我应该寻找什么gem(OAuth,RFacebook,Facebooker等)。 我目前正在使用restful身份validation(此外,有人可以指向我的方向,回答如何允许用户登录,使用其他身份validation,使用他们的用户名或他们的电子邮件吗?) 谢谢!

使用Doorkeeper的OAuth回调URL参数

我正在使用OAuth2和Doorkeeper来保护我的API。 问题是,一个客户端有几个不同的流程,他将用户重定向到我的OAuth流程。 他希望在将用户重定向到我的OAuth流时动态添加一些参数 ,并在我调用其回调URL时返回这些参数 。 通过这种方式,他将能够判断此回调源自哪个流程。 OAuth 2可以实现吗? 门卫? 怎么样? 编辑: 感谢ZólyomiIstván的提示。 我在调用auth端点之前设置了state参数,并在回调中将其恢复。 但是,我发现即使我没有设置任何内容,我也会使用一些明显随机的字符串返回状态参数。 知道它是什么? 我想确定我没弄乱任何东西……

withings api身份validation

我正在尝试使用withings api进行身份validation。 我已经正确获得了消费者密钥和密码,并且能够访问应用页面,我还可以使用api进行身份validation。 问题是它没有回来,而是显示404错误:找不到页面。 我多次交叉检查回调url。 这是url 。 这是我试图validation的代码: Documentation , Gem1 , Gem2 。 我想让用户回到我的应用程序。 @callback_url = ‘http://127.0.0.1:3000/auth/withings/callback’ @consumer = OAuth::Consumer.new(WITHINGS_KEY, WITHINGS_SECRET, { :site => ‘https://oauth.withings.com’, :request_token_path => ‘/account/request_token’, :access_token_path => ‘/account/access_token’, :authorize_path => ‘/account/authorize’ }) @request_token = @consumer.get_request_token(:oauth_callback => @callback_url) session[:request_token] = @request_token redirect_to @request_token.authorize_url(:oauth_callback => @callback_url)

使用rails oauth插件访问github API

我正在实现一个应用程序,该应用程序应该能够代表其用户与不同的API通信。 除此之外,这包括github。 我正在使用oauth-plugin( https://github.com/pelle/oauth-plugin )为每个API执行身份validation。 不幸的是,这对Github不起作用。 这是我目前的GithubToken实现: class GithubToken “https://github.com”, :request_token_path => “/login/oauth/request_token”, :authorize_path => “/login/oauth/authorize”, :access_token_path => “/login/oauth/access_token”, } def self.consumer @consumer||=create_consumer end def self.create_consumer(options={}) OAuth::Consumer.new credentials[:key],credentials[:secret],GITHUB_SETTINGS.merge(options) end def self.get_request_token(callback_url, scope=nil) https://github.com/login/oauth/authorize consumer.get_request_token({:oauth_callback=>callback_url}, :scope=>scope||credentials[:scope]||””) end end 启动身份validation过程时,我在get_request_token调用期间收到403错误。 我假设request_token_path有点错误,但无法在正确的路径上找到任何信息。 使用github搜索谷歌作为搜索词的一部分也不是很有帮助。 现在尝试omniauth,但是因为我正计划使用oauth-plugin的提供者function,所以任何帮助都会非常感激。

未初始化的常量User :: Authorization | omn​​iauth

我按照上一个问题的答案 – > 将Twitter帐户连接到现有的设计帐户 但得到一个 NameError in Devise::Registrations#edit uninitialized constant User::Authorization app/models/user.rb:17:in `has_connection_with’ app/helpers/users_helper.rb:4:in `check_connection’ app/views/devise/registrations/edit.html.erb:57:in `_app_views_devise_registrations_edit_html_erb__1951492867192219113_70202479591960′ 我正在努力修复它,但没有。我错过了什么?

instagram api – 神秘的回应; 不确定是否工作,无法用此测试omniauth

我正在开发一个rails应用程序,其中要求使用omniuth登录到instagram。 这将是我第一次使用instagrams OAuth端点,并且不清楚它是否正常工作(并且对项目经理也不清楚)。 我正在使用他们的cURL实现以下(将来会重置它),但得到“找不到匹配的代码”错误,这似乎是逻辑上的第一个setp。 curl \-F ‘client_id=4658fa17d45244c88dd13c73949a57d7’ \ -F ‘client_secret=ae6cfe5d13544eada4dece2ec40ac5dc’ \ -F ‘grant_type=authorization_code’ \ -F ‘redirect_uri= http://seek-style.herokuapp.com/arc/services/instagram’ \ -F ‘code=CODE’ \https://api.instagram.com/oauth/access_token 有回应 {“code”: 400, “error_type”: “OAuthException”, “error_message”: “No matching code found.”} 我做的事情显然是错的吗? 有完成的例子说明如何完成这项工作? 我见过https://github.com/ropiku/omniauth-instagram,但不知道是否还在工作。 Spec的传递,但实际的调用被嘲笑。 谢谢 编辑#1 根据评论,我添加了一个链接到repo https://github.com/trestles/seek ,用于部署到heroku。 在应用程序中基本上没有任何内容,而且根据我的知识,上面的cURL应该正常工作(而不是)所以我甚至都没有测试过这个。 也许我甚至误解了Instagram的API是如何工作的。

Magento oauth和REST api麻烦

我正在尝试将我的ruby在rails应用程序上集成到magento,我甚至做出了初始请求,获得授权,我相信我已经获得了最终令牌,但我无法确定。 以下是我的回复: (这里有很多东西,所以在我取出导入位的时候跳过去) ….. “credentials”=> {“token”=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1”, “secret”=>”8pnyogb4048toujt5rjoq26tqh50vkv5”}, “extra”=> {“access_token”=> #<OAuth::AccessToken:0x007fdd59893468 @consumer= #<OAuth::Consumer:0x007fdd5995f928 @http=#, @http_method=:post, @key=”ttuj6ok0ioziv7bcfwi8wprzqe6o4x1e”, @options= {:signature_method=>”HMAC-SHA1″, :request_token_path=>”/oauth/initiate”, :authorize_path=>”/admin/oauth_authorize”, :access_token_path=>”/oauth/token”, :proxy=>nil, :scheme=>:header, :http_method=>:post, :oauth_version=>”1.0″, :site=>”https://mymagentocart.dev”}, @secret=”b0maut2ftkg2wb3nm24t263720n7kxqa”>, @params= {:oauth_token=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1″, “oauth_token”=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1″, :oauth_token_secret=>”8pnyogb4048toujt5rjoq26tqh50vkv5”, “oauth_token_secret”=>”8pnyogb4048toujt5rjoq26tqh50vkv5″}, @secret=”8pnyogb4048toujt5rjoq26tqh50vkv5″, @token=”r8apb2rcgci9ry5hugcuiqlnwdi0evc1”>}, “oauth_token”=>”jj2dbrea7dimxwc0twibyoikxjazvs6y”, “oauth_verifier”=>”83idqmtmb76fe5axad1rf7lhfa3wqxki” ….. 我在访问令牌中看到了我的密钥和秘密: @key=”ttuj6ok0ioziv7bcfwi8wprzqe6o4x1e” @secret=”b0maut2ftkg2wb3nm24t263720n7kxqa” 当我在管理员中创建REST使用者时,这就是magento给我的东西。 然后有一堆重复的令牌和秘密,但它们都是一样的,属于“凭证”标签: “token”=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1″ “secret”=>”8pnyogb4048toujt5rjoq26tqh50vkv5” 最后,有oauth_token和oauth_verifier: “oauth_token”=>”jj2dbrea7dimxwc0twibyoikxjazvs6y” “oauth_verifier”=>”83idqmtmb76fe5axad1rf7lhfa3wqxki” 所以这是我的问题…… 我需要通过以下哪些请求直接进行身份validation而无需重新生成令牌? 在我的应用程序中,每次我发出请求时,它都会一直将我发送回magento的用户确认屏幕以进行授权。 另外,我如何请求获取我的magento用户ID,名称等…所以我可以使用此信息在rails app中生成用户? 谢谢!

如何在Doorkeeper :: TokenController上使用before_action

我在使用Doorkeeper :: TokensController时遇到了麻烦。 我想在访问令牌被要求之前执行一些代码(如果它是否已创建,我想要使用before_action进行记录)(默认路由是POST /oauth/token / Doorkeeper::TokensController#create 。 我通过以下方式跟踪了这里的文档: 配置/ routes.rb中 use_doorkeeper do controllers tokens: ‘oauth/access_tokens’ end 应用程序/控制器/ access_tokens_controller.rb class Oauth::AccessTokensController < Doorkeeper::TokensController before_action :log_auth, only: [:create] def log_auth puts "I want to log here" end end 但是当我执行POST /oauth/token ,我有以下错误消息: ActionController :: RoutingError(Oauth :: AccessTokensController的未定义方法’before_action’:Class): app / controllers / oauth / access_tokens_controller.rb:2:在’class:AccessTokensController’中 app / controllers […]