Tag: oauth

使用oAuth令牌进行API调用

我想在Ruby中提出oAuth请求。 我浏览了一些示例,但没有一个使用oauth_token_secret and oauth_token来发出请求,他们只使用consumer_key和consumer_secret来获取oauth_token_secret和oauth_token 。 但我已经有了oauth_token_secret和oauth_token 。 例如,我尝试使用这个 require ‘rubygems’ require ‘oauth’ consumer = OAuth::Consumer.new(consumer_key, consumer_secret, { :site=> “https://www.google.com”, :scheme=> :header, :http_method=> :post, :request_token_path => “/accounts/OAuthGetRequestToken”, :access_token_path => “/accounts/OAuthGetAccessToken”, :authorize_path=> “/accounts/OAuthAuthorizeToken”, :signature_method=>”RSA-SHA1″}, # :private_key_file=>PATH_TO_PRIVATE_KEY ) request_token = consumer.get_request_token() puts “Visit the following URL, log in if you need to, and authorize the app” puts request_token.authorize_url […]

如何在没有默认凭据文件的情况下授权Google服务帐户?

我有一个Google服务帐户 ,我的应用可以使用该帐户从Google Analytics中检索数据。 当我创建帐户时,我下载了一个client_secrets文件,其中包含通过OAuth授权的所有必要信息,并且我根据Google的文档在名为GOOGLE_APPLICATION_CREDENTIALS的环境变量中记录了此文件的路径。 我现在可以得到这样一个经过身份validation的客户端: authorization = Google::Auth.get_application_default(scopes) 此方法从文件中读取凭证,该凭证在本地运行,但我的应用程序托管在Heroku上,无法进行文件存储。 文档说明我可以提供此文件(不能),在官方Google服务上运行我的应用程序(不会),或者遇到错误。 如何在没有client_secrets文件的情况下validation我的服务帐户?

使用Authlogic和Authlogic OAuth插件创建隐式用户

我正在尝试在Rails中编写一个简单的OAuth消费者应用程序。 我正在使用Authlogic来处理身份validation,使用Authlogic OAuth插件来执行oauth操作。 oauth插件提供了几个帮助来呈现登录按钮:oauth_login_button和oauth_register_button。 与Authlogic逻辑和插件的请求filter一起,这两个按钮以某种方式创建会话/用户。 接下来发生的事情如下: – 如果我使用oauth_login_button助手,那么会话对象无法保存,因为本地没有这样的用户。 – 如果我使用oauth_register_button助手,那么,在第一个之后的任何登录中,Rails会抱怨已经取得了令牌……这意味着它无法为同一个用户创建第二个副本,这是正确的。 问题是:我不希望在我的网站上有两个注册和登录按钮。 在用户方面,我想要实现的是起始页面上的一个按钮,说smth。 例如“使用Twitter登录”,用户必须单击该页面以进入网站的内部页面。 在服务器端,如果用户是我网站的第一次访问者,我想隐式创建本地用户帐户。 关于如何做到这一点的任何提示? Authlogic + OAuth上的所有示例我都能找到似乎并不关心只有一个按钮用于登录。:(

为OAuth创建签名和Nonce(Ruby)

我希望从我的应用程序访问SmugMug的API来获取用户的相册和图像(用户已经通过ruby的OmniAuth进行了身份validation)。 根据SmugMug的OAuth API ,OAuth需要六个参数。 我可以使用OmniAuth获取令牌,时间戳应该很简单(Time.now.to_i对吗?)。 有两件事我不知道如何生成 – oauth_nonce和oauth_signature。 根据oauth docs,我通过时间戳生成nonce,但我究竟会怎么做呢? 它是否需要一定的长度并限于某些字符? 当然还有签名。 如何使用ruby生成HMAC-SHA1 sig? 我知道oauth gem可以做到,但我宁愿自己生成它以与OmniAuth一起使用。 查看代码,我无法破译oauth gem如何生成sig。 感谢您的任何帮助。

是否可以使用OmniAuth获取Gmail oauth或xauth令牌?

我想从GMail获取oauth或xauth令牌以与gmail-oauth一起使用。 我正在考虑使用OmniAuth,但它似乎还不支持GMail,这意味着有了OmniAuth库存是不可能的。 那是对的吗? 我错过了什么吗?

Ruby google_drive gem oAuth2节省

因此,在更新之前有一种简单的方法来登录谷歌驱动器并操纵您的谷歌文档 – 使用ruby。 在您使用此function登录Google云端硬盘之前。 require ‘google_drive’ $session = GoogleDrive.login(“email@gmail.com”, “password”) 但现在你收到警告信息: WARNING: GoogleDrive.login is deprecated and will be removed in the next version. Use GoogleDrive.login_with_oauth instead. 所以我去了git hub页面看看google是如何让我们使用高级语言的服务,并发现他们希望我们使用oAuth2。 像这样。 require ‘google/api_client’ require ‘google_drive’ client = Google::APIClient.new( :application_name => ‘Example Ruby application’, :application_version => ‘1.0.0’ ) auth = client.authorization auth.client_id = “YOUR CLIENT ID” auth.client_secret = […]

从OAuth安全存储令牌/秘密/等的正确方法?

我刚开始研究OAuth,它看起来非常好。 我现在正和ruby 一起工作 。 现在我想知道,在本地数据库和会话中存储响应的建议安全方法是什么? 我应该存储什么? 我应该在哪里存放? 此示例twitter-oauth-with-rails应用程序在会话中存储user.id ,用户表具有token和secret 。 但这似乎很容易通过传递大量测试用户ID来破解和获取秘密,不是吗?

跨应用/服务器的Rails身份validation

我一直在开发我的rails应用程序,同时尽可能保持模块化。 我正在尝试将下面的不同部分实现为服务。 举个Facebook的例子: a)允许用户拥有墙壁,post等的MainApp 。 b)存储照片的PhotoApp ,允许用户查看他的照片等。这是一个独立的应用程序,它将具有可由MainApp使用的REST API。 我正在考虑将OAuth用作单点登录解决方案(如本教程中所述http://blog.joshsoftware.com/2010/12/16/multiple-applications-with-devise-omniauth-and-single-sign-on / )其中每个应用程序将通过OAuth授权,并将基于cookie访问当前用户会话。 第一个问题:这是可行的解决方案吗? 第二个问题:我希望能够从MainApp服务器(而不是用户的浏览器)调用PhotoApp API。 如何在这种情况下进行身份validation? 第三个问题:如果说我有一个使用node.js的服务,它将如何工作?