TwitterのOAuth認証を利用するサービスを作ってみたが...
一昨日の日曜日(9/5)に、クックパッドさんのオフィス提供による 『TFJ CodeCamp #2』 という1日開発合宿に行きまして、TwitterのOAuth認証を使ったサービスを初めて作ったんです。ユーザーのタイムラインを読んでいろいろやってくれるタイプのサービスを。で、実際OAuth認証するサービスを公開することを考えてみたんですが、どーにも無視できないリスクがありまして。
まず、TwitterのOAuth認証のアクセス権限レベルって、「全部のデータが読める」or「何でもできる」しかありません。今回のサービスはタイムラインさえ読めればいいのですが、OAuth認証としては全部のデータを読める要求しかできなくて、その認証をしてもらったならば、DM(Direct Message)も読み出し放題になっちゃうんですね。実際のDMの読み出しはとても簡単で、APIを1発ポンと呼び出すだけです。
DMを読める立場になんか立ちたくない
もちろんDMを勝手に読むことなんてしないんですけど、否が応にも読める立場に立ってしまうんです。そうなってしまうと、いくらやってなくても、やってるんじゃないかと疑われるリスクが発生しちゃうわけです。DMデータへアクセスしてないことの証明方法は今のところありません。また、自分が読まなくても、脆弱性やらなんやらでOAuth認証の結果を盗み出されて、悪用されちゃうかもしれない。(後者はそれなりに安全にする策はありますが、それなりに面倒)
アクセス権限を細分化してほしい
そもそもタイムラインだけを読み出せるアクセス権限があれば、こんな心配をする必要はなくなります。具体的には、Twitter側がOAuth認証のアクセス権限を細分化することです。
ほんと、このリスクは不可避なんで、Twitterさんには切にお願いしたく、エントリにしました。
以上、よろしくお願いします!


7 Comments