開発中のアプリケーションに「地域ツイッター」という仮称をつけていましたが、このたび正式名称を「ちいッター」に決定しました!サービス開始までもう少し時間がかかりそうですが、ちいッターをよろしくお願いします。
さて、TwitterにOAuthクライアントアプリを登録したので、OAuthを使ってTwitterにアクセスする部分を作っています。ちいッターはZend Frameworkを使って開発しているので、OAuthを実装しているコンポーネントがないか調べてみたところ、Writing A Simple Twitter Client Using the PHP Zend Framework’s OAuth Library (Zend_Oauth)というチュートリアルを見つけました。Zend_Oauthの開発者自身が書いているブログエントリだけあって非常に参考になりました。
OAuthの仕組みについて前回のエントリではあまり詳しく書きませんでしたが、このサイトにわかりやすい説明が書いてあったので転載します。
In other words, it’s a means of allowing websites to access your data on other services via a service API, like Twitter’s API or Google Gdata, without actually providing those websites with your username and password. Instead, OAuth allows you to authorise such websites to access your data so that they don’t need your username or password – they just use an Access Token supplied by your service provider – and you can easily deauthorise them if desired.
Twitterを例に挙げると、Twitterが保有するあなたのデータ(今までのつぶやきやフォロワーなど)に、外部サイト(地域ツイッターやブログのTwitter用ウィジェットなど)からTwitter APIを介してアクセスする際、従来の方法(Basic認証)ではあなたのTwitterアカウントとパスワードを、外部サイトがTwitterに送信する必要がありました。つまり、外部サイトはあなたのTwitterアカウントとパスワードをどこかしらで入力してもらわなければなりません。しかし、この方法は前回のエントリでも取り上げたようにセキュリティ上の問題があります。
OAuthを使った場合、外部サイトがあなたのTwitterアカウントとパスワードの入力を求める代わりに、外部サイトにあなたのデータへのアクセスを許可するかどうかを、Twitterが問い合わせてきます。
ここで「許可する」を選択すると、Twitterは「アクセストークン」を外部サイトに対して発行します。外部サイトはTwitter APIを介してTwitterにアクセスする際、Twitterアカウントとパスワードの代わりに、このアクセストークンを送信してTwitterに認証してもらいます。これがOAuthを使った認証の仕組みです。一度、外部サイトからのアクセスを許可しても、気に入らなければ後からいつでも取り消すことができます。
このOAuth認証を悪用してスパムDMをフォロワーに送りつけるようなアプリもあるようなので、反射神経で「許可する」をクリックしないように気をつけましょう!
TwitterでスパムDM出回る フォロワーに自動でDM送りつけ – ITmedia News


2009/11/9 at 12:07
[...] OAuth認証ってナニ? [...]