Tag: oauth

Mendeley定制OAuth战略

Mendeley有一个很棒的API(实际上他们已经使用他们的API进行了比赛,但这个问题并不是特定的),它使用了OAuth。 我正在尝试编写允许Mendeley身份validation的策略,并且这样做有很多麻烦。 我去了/ auth / mendeley,它将我重定向到Mendeley.com,我进行了身份validation,然后它将我重定向到一个没有任何内容的页面但是这个 {“error”:“未找到使用者密钥”} 他们提到这是一个三脚OAuth,是否需要额外的步骤,而不是OAuth通常做的事情? 这是我有的: # /config/initializers/omniauth.rb module OmniAuth module Strategies # tell omniauth to load the strategy autoload :Mendeley, ‘lib/mendeley’ end end # gather oauth credentials from the yml file OAUTH = YAML.load_file(File.join(Rails.root, “config”, “oauth.yml”)) # load all the possible oauth strategies ActionController::Dispatcher.middleware.use OmniAuth::Builder do provider OmniAuth::Strategies::Mendeley, OAUTH[‘mendeley’][‘consumer_key’], OAUTH[‘mendeley’][‘consumer_secret’] end […]

Rails oauth-plugin:多个策略导致重复的nonce错误

我有一个控制器操作可能被客户端使用oauth客户端令牌(没有经过身份validation的用户)命中,或者可能被具有访问令牌的授权客户端命中(针对特定用户)。 我想在filter之前设置一个漂亮的小点来容纳这个。 我试过了: oauthenticate :strategies => [:oauth10_request_token, :oauth10_access_token], :interactive => false, :only => [:wonky_action] 如果我尝试使用访问令牌请求来执行此操作,那么它会抱怨,因为它会尝试两次记住OauthNonce。 这是我的ClientApplication.verify_request方法的样子: def self.verify_request(request, options = {}, &block) begin signature = OAuth::Signature.build(request, options, &block) nonce = OauthNonce.remember(signature.request.nonce, signature.request.timestamp) unless nonce Rails.logger.warn “Oauth request failing because of invalid nonce.” return false end value = signature.verify unless value Rails.logger.warn “Signature verification failed.” end […]

如何在门卫中执行仅应用程序身份validation(oauth2)

Twitter为他们的api提供仅限应用程序的身份validation: https : //dev.twitter.com/docs/auth/application-only-auth Twitter使应用程序能够代表应用程序本身发出经过身份validation的请求(而不是代表特定用户) 我想在Rails中对门卫做同样的事,但我不知道该怎么做。 似乎只能通过回调urlvalidation用户,但是如何使用应用程序上下文访问我的API(仅使用应用程序ID和应用程序密钥) 我的第一个想法是使用应用程序的ID和密码进行密码凭证登录,以获取属于该应用程序的访问令牌。 这是一个坏主意吗? 从安全的角度来看是否安全? 我想知道因为应用程序的秘密在db中保存为纯文本,这是用户身份validation的禁忌。

Ruby和Rails – oauth和http代理

有人知道如何使用oauth为rails实现HTTP PROXY吗? 我正在使用oauth gem但是在代理服务器之后。 发现很难解决这个问题。 很沮丧! 谢谢你的帮助, 约翰

如何将Devise的Rails应用程序转换为OAuth提供程序?

我有一个使用Devise进行身份validation的管理员帐户的Rails应用程序。 我正在创建第二个应用程序,并希望使用第一个应用程序进行身份validation,而不是在第二个应用程序中复制管理员帐户。 所以我的想法是将第一个应用程序转换为OAuth提供程序,以便第二个应用程序可以像OmniAuth一样充当OAuth客户端。 你以前做过这个吗? 是否有一个插件可以增加Devise的能力,使其能够充当OAuth提供者? 为了将应用转变为OAuth提供商,我需要更改/添加什么?

使用google配置authlogic-oauth

大家好,我正在尝试学习rails,而我正在开发一个使用谷歌登录和日历数据的应用程序。 我目前正在配置authlogic-oauth并遇到一些问题。 我一直在关注authlogic-oauth指南(见上面的链接)插件,我正在第4步和第5步。首先,我还在学习语言,我不知道第4步的代码在哪里进入控制器: @user_session.save do |result| if result flash[:notice] = “Login successful!” redirect_back_or_default account_url else render :action => :new end end 其次,我正在尝试设置第5步,即实际的Google oauth数据步骤: class UserSession “**http://google.com**”, :authorize_url => “*http://google.com/xxx*” }) end end 我不完全确定我在哪里可以找到填写此内容的信息。我一直在阅读hxxp://code.google.com/apis/accounts/docs/OAuth_ref.html(抱歉,我只能发布一个超链接),但我只是不确定我从哪里获得所有内容以及插件为自己处理的内容。 最后,我不太确定如何检索日历信息,我刚刚被IRC的某个人告知过我。 我是通过这个插件做的还是我还必须使用另一个插件? 非常感谢!

如何在各种环境中使用和配置omniauth与yahoo,google,facebook策略?

我正在开发一个Rails 3.2应用程序,允许用户通过多个提供商进行身份validation… Yahoo,Google,Facebook和/或Twitter。 我们正在使用omniauth,虽然我理解基本的工作流程,但我找不到一个包含文档,说明应如何配置这些特定的提供程序,以及如何设置Rails应用程序,以便我可以正确地测试/使用这些策略开发,测试和生产环境。 所以我的问题: 对于这些提供商(雅虎,谷歌,推特,脸书)中的每一个,需要哪些步骤来为omniauth单独配置每个提供商,以便它们可以用于开发,测试和生产环境? 配置Rails应用程序以正确使用每个提供程序以适应我正在运行的任何环境的最佳/推荐方法是什么? 谢谢 – wg

如何修复Rails 3(bundler)中的这个gem依赖问题?

由于某种原因,每次我尝试运行bundle install时,我的项目都搞砸了,现在它的抛出错误。 通过重新排序我的Gemfile的gem,我设法解决了一些错误,但现在我得到了这个: Bundler could not find compatible versions for gem “faraday”: In Gemfile: omniauth depends on faraday (~> 0.7.3) twitter depends on faraday (0.6.1) 我认为使用bundler应该删除依赖wtf’s ? 我假设这个消息意味着两个gem需要2个不同版本的faraday ..? 我怎么能解决这个问题呢? 为什么不安装这两个版本,每个gem加载它想要的版本? 我喜欢这方面的帮助! 谢谢 Gemfile.lock: https ://gist.github.com/1061722 的Gemfile: # Edit this Gemfile to bundle your application’s dependencies. source ‘http://rubygems.org’ gem ‘rails’, ‘3.0.9’ #, :git => ‘git://github.com/rails/rails.git’ […]

OAuth ::问题(parameter_absent)

我正在使用OAuth 0.3.6和一个Rails应用程序的linkedin gem我有这个问题,其中OAuth抛出一个错误,说OAuth :: Problem(parameter_absent)。 问题是它不会在每次被调用时抛出错误,问题是我无法在本地重现问题来测试它。 文件说: [parameter_absent:未收到必需参数。 在这种情况下,响应应该还包含oauth_parameters_absent参数。 ] 但是每次获取令牌时都会以相同的方式生成请求,因此我无法理解为什么会发生这种情况。 日志 OAuth::Problem (parameter_absent): oauth (0.3.6) lib/oauth/consumer.rb:167:in `request’ oauth (0.3.6) lib/oauth/consumer.rb:183:in `token_request’ oauth (0.3.6) lib/oauth/tokens/request_token.rb:18:in `get_access_token’ linkedin (0.1.7) lib/linked_in/client.rb:35:in `authorize_from_request’ app/controllers/users_controller.rb:413:in `linkedin_save’ 我看到有几个人面临这个问题,但我还没有找到解决这个问题的方法。 希望得到一些帮助。

omn​​iauth OAuthException&OAuth ::未经授权

我已经安装了omniauth 1.0。 我也有oauth-0.4.5,oauth2-0.5.1,omniauth-facebook-1.0.0,omniauth-twitter-0.0.6。 omniauth.rb Rails.application.config.middleware.use OmniAuth::Builder do provider :developer unless Rails.env.production? provider :facebook, ENV[‘167257285348131’], ENV[‘c8c722f697scb2afcf1600286c6212a9′], :scope => ’email,offline_access,read_stream’, :display => ‘popup’ provider :twitter, ENV[‘fma2L22ObJCW52QrL7uew’], ENV[‘4aZfhCAOdiS7ap8pHJ7I1OZslFwVWWLiAMVpYUI’] end session_controller.rb class SessionsController < ApplicationController require 'omniauth-facebook' require 'omniauth-twitter' require 'omniauth' def create @user = User.find_or_create_from_auth_hash(auth_hash) self.current_user = @user redirect_to '/' end def auth_hash request.env['omniauth.auth'] end end 此外,我将’omniauth”omniauth-facebook”omniauth-twitter’gem添加到gemfile中 有两个问题: […]