我正在试试我的手在轨道上的红宝石。大部分时间我都在Sinatra编写代码。无论如何,这个问题可能不需要对框架做任何事情。这个问题听起来可能是一个非常新手的问题。我第一次玩Twitter 1.1 API和OAuth。Twitter在Ruby中三脚授权
我创建了一个应用程序XYZ并在Twitter上注册。我得到了XYZ的消费者密钥,即CONSUMER_KEY和消费者密钥,即CONSUMER_SECRET。我也得到了XYZ自己的访问令牌即ACCESS_TOKEN和访问秘密即ACCESS_SECRET
XYZ应用类型:读,写和访问直接信息 XYZ回调URL:http://www.mysite.com/cback 我已经检查:允许该应用程序可用于登录与Twitter
我所试图做的是非常简单的:
1)用户来我的网站,并点击一个链接Link your twitter account
(不与Twitter签到)
2)打开叽叽喳喳弹出,其中用户同意到XYZ在他/她的行为上执行操作f)
3)一旦用户允许并且弹出窗口关闭,XYZ应用获取用户的访问令牌并保密并保存在数据库中。
4)然后XYZ使用该用户的令牌和秘密在未来执行操作。
我可能不知道这样的工作流程已经在几千个网站上实现,而Twitter API文档解释了这种三方认证,但我仍然无法弄清楚。
我已阅读https://dev.twitter.com/docs/auth/3-legged-authorization和https://dev.twitter.com/docs/auth/implementing-sign-twitter不幸的是没有在互联网上找到的红宝石代码,可以用一步一步的例子来解释。
当用户点击Link your twitter account
时应该使用什么链接来打开twitter认证页面。 任何人都可以在这里使用我的pseduo凭证编写一些伪代码,以达到我的目标,从beging到这个工作流程结束?谢谢。
UPDATE:
我开始与请求请求令牌作为
require 'oauth'
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET,
{ site: "https://twitter.com"})
request_token = consumer.get_request_token oauth_callback: 'http://www.mysite.com/tauth'
redirect_to request_token.authorize_url
你应该看看如何[omniauth-叽叽喳喳(https://github.com/ arunagw/omniauth-twitterhttps://github.com/arunagw/omniauth-twitter)实现它。它可能只是有你在找什么。 :) – kiddorails 2013-05-13 07:12:59