OAuth認証について

  • 投稿日:
  • by
  • カテゴリ:
Twitterアプリの認証形式について 某アプリの実験に対する批判や「OAuth認証はDMにアクセスできるから危険」などの噂が流れています。 冬たいが~もOAuth認証を使用しているのでちょっとまとめ。 ※技術者向けの資料ではないです。概要的なもの。

Basic認証

ユーザーIDとパスワードをアプリに直接入力して認証します。 アプリはユーザーIDとパスワードを記録し、認証が必要なる都度、それらを使用します。 ※Twitterでは2010年8月末でBasic認証の使用を終了します。 

OAuth認証

ユーザーIDとパスワードはアプリに直接入力せず、Twitterサーバー上で認証を行ないます。 (認証時にブラウザが開き、Twitterの「許可する」「しない」のボタンが標示されます) アプリはパスワードを知ることはなく、Twitterサーバーから発行されたトークン(許可証のようなもの)を使用して通信します。 OAuth認証ではアプリに対し使用する機能の制限ができます。 Twitterでは制限レベルとして「読み込みのみ許可」、「読み書き両方を許可」の2種類があります。 ユーザーがTwitterの設定画面で許可を取り消すことで、操作を禁止することができます。

xAuth認証

簡易版OAuth認証です。 ブラウザを使用せず、アプリにIDとパスワードを入力し、アプリがTwitterと通信、トークンを取得します。 認証以降の通信にはユーザーIDとパスワードを使用せず、トークンを使用します。 OAuth認証と同じく機能の制限ができます。 ユーザーがTwitterの設定画面で許可を取り消すことで、操作を禁止することができます。

まとめ

パスワードの保護機能の制限DMへのアクセス
Basic認証××
OAuth認証
xAuth認証※1
※1 本来的にはアプリは入力されたパスワードを保存せず破棄します。 アプリの作りによってはパスワードを保存する可能性があります。 どの認証方式であろうともアプリはDMへアクセスすることができます。 もちろん冬たいが~もDMへアクセスできますし、します。 だってDMにアクセス出来ないとDM表示できないですから。 「DMにアクセスできるからOAuthが危険」なんてことは全く無く、むしろ危険度で行けばパスワード自体を アプリに知らせる可能性のないOAuthが一番安全です。 問題になるのは「認証の種類」「DMへアクセスできるかどうか」ではなく、「アプリに悪意が有るか無いか」です。 この判断は難しいですが、利用者が判断するしかありません。 また、「漏れて困る情報をTwitterで(たとえDMやクローズでも)やりとりしない」ことも大切です。 漏れたら本当に困る情報はオフラインでやり取りするか、暗号化するなどの対処をしましょう。

冬たいが~について

冬たいが~はOAuth認証を使用し、「読み書き両方」の許可を求めます。 TLの情報やDMの内容を外部に流すことはありません。 冬たいが~から外部へのアクセス先は次のようなものになります。 1.Twitter 2.冬たいが~のサイト(バージョンチェック・読み取りのみ) 3.Twitpic(画像投稿) 4.Bit.ly(URL短縮)