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}"

参考: Twitter の AccessToken と AccessTokenSecret を Ruby で取得する