オープンソースのクライアントはソースコード中でどのように Consumer Key や Consumer Secret を記述しているのか? 自分が使ったことのあるクライアントで調べてみた。実際、ソースコードに書かれているこれらの値を使い、あるアカウントに対してこの Consumer Key や Consumer Secret を持つクライアントからの操作を許可すれば (あるアカウントに紐付けられた access token と access token secret を取得できればこの時あるアカウントのアカウント名とパスワードが必要)、動いているクライアントとは別のクライアントのふりをして status の update などをすることができる。
クライアント名 | 言語 | 場所 | consumer key | consumer secret | 記述 |
TweetIrcGateway | C# | TwitterIrcGatewayCore/Server.cs | OAuthClientKey | OAuthSecretKey | 直書き |
atig.rb | Ruby | lib/atig/oauth.rb | CONSUMER_KEY | CONSUMER_SECRET | 直書き |
twirc | Perl | lib/POE/Component/Server/Twirc.pm | pbafhzre_xrl | pbafhzre_frperg | ROT13 で変数名及びリテラルをデコード |
Twirssi | Perl | twirssi.pl | pbafhzre_xrl | pbafhzre_frperg | ROT13 で変数名及びリテラルをデコード |
Termtter | Ruby | lib/termtter.rb | CONSUMER_KEY | CONSUMER_SECRET | Termtter::Crypt.decrypt (実質 BASE64) でデコード |
mikutter | Ruby | core/config.rb | TWITTER_CONSUMER_KEY | TWITTER_CONSUMER_SECRET | 直書き |
TTYtter | Perl | 2.1.00.txt | oauthkey | oauthsecret | 直書き |
TwitVim | Vim | plugin/twitvim.vim | consumer_key | consumer_secret | 直書き |
dev.twitter.com では、Consumer sectret と Access token secret について "Remember this should not be shared." という注釈が付けられている。