Twitter的oauth流程。客户端和Web应用程序之间的区别

时间:2010-04-11 01:17:12

标签: ruby oauth twitter

我设法让oauth流程适用于PIN类型的验证。我的Twitter应用程序是客户端类型。当在网络浏览器中输入授权URL并授予应用程序访问权限时,我必须在我的ruby应用程序中输入pin。我可以在没有针脚的情况下完成获取访问令牌的过程吗?

  • 我需要做些什么改变才能让它在没有针的情况下工作?
  • 有人可以告诉我一般客户端和Web应用程序之间有什么不同吗?一旦我获得访问令牌,我就会说它是一样的。

我目前的代码就像。

gem 'oauth'
require 'oauth/consumer'

consumer_key = 'your_key'
consumer_secret ='your_secret'

consumer=OAuth::Consumer.new consumer_key, 
                          consumer_secret, 
                          {:site=>"http://twitter.com"}
request_token = consumer.get_request_token

puts request_token.authorize_url
puts "Hit enter when you have completed authorization."
pin = STDIN.readline.chomp 

access_token = request_token.get_access_token(:oauth_verifier => pin)

puts
puts access_token.token
puts access_token.secret

1 个答案:

答案 0 :(得分:1)

您无法跳过PIN(称为验证程序)步骤。

当客户授权您的应用访问受保护资源时。

如果您可以托管显示 OAuth提供商可以将您重定向到的网址的公共网络应用程序,则可以为用户节省复制该数字并将其粘贴到应用程序中的麻烦。 验证程序 PIN 作为查询字符串参数。

为此,您应该在oauth_callback参数中传递网址,而不是发送oob

  

编辑:

     

您可能需要检查相关内容   规范的一部分 - >   6.2.3

相关问题