Twitterで間違えて登録したりいらなくなったOAuthアプリを削除したい(未解決)

2010年6月2日

アプリケーション名は一意みたいで、他の人や自分がその名称を既に使っていると使えないようです。
一度削除したアプリ名は、また使えるようになるのかなという疑問が・・・。
そこが気になって、いらなくなったtweetableの設定を
oauthアプリケーション一覧から削除しようと思ったのですが、
1つ削除できないのがありました。
「Edit Application Setting」ボタン→最下部の削除ボタンから削除しようとすると、
「Cannot delete suspended applications.」と出て、削除できません。

外部アプリの一覧ページ

ちなみに外部アプリで許可を取り消しても
OAuthアプリケーションの一覧には出てくる。

OAuthアプリケーションの一覧ページは、作業中2つのアドレスが出てきたのですが、
どちらも同じ内容になってます。

http://twitter.com/apps

http://twitter.com/oauth_clients

最初にアプリの許可をはずしてしまったのが、悪かったのかと思って、
wordpressのアプリから再登録しようとすると以下のメッセージがでます。

「おっと!
このページはもう有効ではありません。あなたと同じトークン情報を誰かがすでに利用してしまったようです。元のサイトに戻ってもう一度試してみてください。たぶん単純なミスでしょう。」

おっと!っていうのが何かムカつき感を覚えます・・・。

そこで、トークンを再取得すればいいんじゃねーのと思って、
「Reset Consumer Key/Secret」ボタンを押して
Consumer Key/Secretを再取得・再登録したが、
それでも同じメッセージが出る。あああ。

で、少しOAuthについて勉強してみることにしました。

Twitter OAuth 対応の話
Simple-tweetの作者さんの記事ですが、
Consumer Key/Secretについて以下のような記述があります。

consumer_key, consumer_key_secret が漏れると、これを偽装できちゃいます。
OAuth で認証する画面を見ると分かるんですけど Twitter アプリケーションの情報って名前とアプリケーションを登録したユーザ名しか出てないんですよね。
ユーザはこれだけの情報で、認証を求めてきたアプリケーションに対して権利を委ねなければなりません。
例えば「TweetPost」という Twitter アプリケーションが有ったとします。
このアプリケーションの consumer_key, consumer_key_secret が第三者に漏れてしまった場合、その第三者が consumer_key, consumer_key_secret を使用して「TweetPost」という名前の悪意あるアプリケーションを作成し、誰かにユーザー登録させることも可能です。いわゆる成りすましですね。
「TweetPost」というアプリケーションが、地道に築き上げてきた信頼・ブランドが瓦解しちゃいますね。
実際はアプリケーションのタイプを「Browser」にした場合は Twitter での認証後、アプリケーションに登録してある Callback URL に遷移するので oauth_verifier を取得するのは難儀ですが (^^;;
アプリケーションのタイプを「Client」にした場合は、request_token, request_token_secret, PIN から access_token, access_token_secret が生成できるので、成りすましは容易に可能になるでしょう。
Webアプリケーションだったら、consumer_key, consumer_key_secret を隠蔽するのは比較的容易ですが、クライアントアプリだと辛いモノがありますね。
クライアントアプリ用に OAuth 以外の認証方法が用意されるのかも知れません。

Twitter OAuth の非プログラマ向けの説明

んでこの一覧に許可を取り消すというリンクがありますが、これをクリックするとそのアプリから OAuth を使ってあなたのアカウントにアクセスすることはできなくなります。

ただ注意してもらいたいのは、OAuth アプリはだいたい認証用のデータ等を内部的に保持してまして、ここで許可を取り消してもアプリ上に残ってるデータは消えないことがあります。

アプリによってはサインアウトというかデータ削除用の操作を付けてる場合があります。しかし、サインアウト処理自体が無かったり、その方法が分かりにくい場合、またサインアウト処理があったとしても、最終的に何らかのデータがそのアプリに残っちゃうことは最初に OAuth で許可する時点で覚悟しておいてください。

集積したデータ自体に意味があるようなサイトは、たぶんサインアウト処理してもデータは消さないと思うので、バグや悪意の有無に関わらずサインアウトしてもデータが残ることは今日なんだかいけそうな気がする〜あると思います。

要は、認証しちゃったら何かデータ残るかもしれないよ、でも認証外したらそのアプリからツイッターに何かすることもできなくなるよ、ってことです。なんでサインアウト方法が分からない時はとりあえず許可を取り消しちゃうのもありだと思います。

わけのわからないまま設定するのは、あとから不具合が出てきてよくないですね。反省しました。
まだ削除できてませんが、少し様子を見てみます。