Twitterのoath_callbackは設定していないと上書きできない
Twitterはoauth/request_tokenへのアクセス時に、
認証後のコールバック先をoauth_callbackパラメータで上書きできます。
Twitterの開発者画面からは独自スキーマは登録できませんが、
この機能で上書きをすると任意のスキーマをコールバックに設定できます。
ただし、Twitterに何らかのURL(ダミーでも可)を設定してないと上書きできないようです。
たとえば以下のようなコードを書いた場合、Twitterの開発者画面でURLを登録していないと、
401 Authorization Required (OAuth::Unauthorized)
が帰ってきますが、
http://example.com
のようにダミーURLを登録すると認証画面用のURLが帰ってきます。
require "oauth"
consumer_key = ""
consumer_secret = ""
consumer = OAuth::Consumer.new consumer_key, consumer_secret, site: "https://api.twitter.com"
request_token = consumer.get_request_token oauth_callback: "ota42y://test"
puts "Please visit here: #{request_token.authorize_url}"