Autorização do Twitter com três pernas em Ruby

Eu estou tentando minha mão rubi nos trilhos. Principalmente eu escrevi código em Sinatra. De qualquer forma, esta questão pode não ter que fazer nada com o framework. E esta questão pode parecer uma questão muito nova. Eu estou jogando com o Twitter 1.1 APIs e OAuth pela primeira vez.

Eu criei um aplicativo XYZ e registrei-o no Twitter. Recebi a chave do consumidor da XYZ, ou seja, CONSUMER_KEY e o segredo do consumidor, ou seja, CONSUMER_SECRET. Eu também tenho o token de acesso do XYZ, ou seja, ACCESS_TOKEN e acesso secreto, ou seja, ACCESS_SECRET

Tipo de aplicação XYZ: Leitura, escrita e acesso a mensagens diretas. URL de retorno de chamada XYZ:http://www.mysite.com/cback E eu verifiquei: Permitir que este aplicativo seja usado para entrar com o Twitter

O que estou tentando fazer é muito simples:

1) Os usuários chegam ao meu site e clicam em um linkLink your twitter account (não fazendo login com o twitter)
2) Isso abre o popup do twitter onde o usuário concede permissão para o XYZ realizar ações em seu nome
3) Uma vez que o usuário permita e o pop-up seja fechado, o aplicativo XYZ obtém o token de acesso do usuário e o segredo e salva no banco de dados.
4) Em seguida, o XYZ usa o token e o segredo desse usuário para executar ações no futuro.

Eu posso ser um idiota que tal fluxo de trabalho tenha sido implementado em milhares de sites e documentações da API do Twitter expliquem essa autenticação de três etapas, mas ainda não consigo descobrir.

eu lihttps://dev.twitter.com/docs/auth/3-legged-authorization ehttps://dev.twitter.com/docs/auth/implementing-sign-twitter Infelizmente, nenhum código ruby ​​encontrado na internet explica isso com o exemplo passo a passo.

Qual link deve ser usado para abrir a página de autenticação do Twitter quando o usuário clicarLink your twitter account. Alguém aqui, pode escrever algum pseudo código com minha credencial pseduo acima para alcançar meu objetivo desde o início até o final deste fluxo de trabalho? Obrigado.

ATUALIZAR:

Comecei solicitando o token de solicitação

require 'oauth'<br>consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET,<br>{ site: "https://twitter.com"})<br>request_token = consumer.get_request_token oauth_callback: 'http://www.mysite.com/tauth'<br>redirect_to request_token.authorize_url

questionAnswers(2)

yourAnswerToTheQuestion