oauth процесс для твиттера. разница между клиентом и веб-приложением - PullRequest
2 голосов
/ 11 апреля 2010

Мне удалось настроить oauth для проверки PIN-кода. Мое твиттер-приложение - клиентское. Когда вы вводите URL авторизации в веб-браузере и предоставляете доступ к приложению, я должен ввести пин-код в своем приложении ruby. Могу ли я завершить процесс получения токена доступа без булавки?

  • Какие изменения мне нужно сделать, чтобы он работал без булавки?
  • Может кто-нибудь сказать мне, в чем разница между клиентом и веб-приложением в целом? Я бы сказал, что это то же самое, когда я получу токен доступа.

Мой текущий код похож.

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 Ответ

1 голос
/ 11 апреля 2010

Вы не можете пропустить шаг ПИН (называемый верификатор ).

Именно тогда клиент авторизует ваше приложение для доступа к защищенным ресурсам.

Вы можете избавить своих пользователей от необходимости копировать этот номер и вставлять его в свое приложение, если вы можете разместить общедоступное веб-приложение, предоставляющее URL-адрес, на который OAuth-провайдер может перенаправить вас с помощью верификатор или PIN в качестве параметра строки запроса.

Для этого вам нужно передать URL в параметре oauth_callback вместо отправки oob

Edit:

Вы можете проверить соответствующие часть спецификации -> 6.2.3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...