OAuth認証を行うためのpearライブラリとしてHTTP_OAuthがあります。 今回は、そのライブラリを利用してtwitterの認証を行う方法をご紹介します。
[ad#co-1]
1. HTTP_OAuthのインストール
HTTP_OAuthはHTTP_Request2、HTTP_Request2はNet_URL2に依存しています。 先にこれらのライブラリをインストールした後、インストールを行います。
これらのライブラリはまだアルファバージョンなので、“channel://~“としてインストールします。
pear install channel://pear.php.net/Net_URL2-0.3.0 pear install channel://pear.php.net/HTTP_Request2-0.4.1 pear install channel://pear.php.net/HTTP_OAuth-0.1.4
2. OAuthの流れ
twitterでOAuthを利用するには、
- https://twitter.com/apps/new でアプリケーションを登録
- consumer_key, consumer_key_secretが発行されるのでメモ
- consumer_key, consumer_key_secretとcallback_urlを指定して、request_tokenを取得(request_tokenはcallback後に使用するのでsessionに記憶しておく。)
- authorize URLを取得
- twitter側で認証した後、callback_urlに戻ってくるパラメータoauth_verifierと、request_tokenを利用して、access_tokenを取得
- access_tokenをセットして、twitterの各種APIを呼び出す。
といった流れになります。
3. サンプルコード
twitterの方で紹介されている、PHP用OAuthのサンプルコードをHTTP_OAuthを使うように(ごにょごにょと)書き換えたら、こんな感じになります。
しかし、このサンプル書き方が汚い。。(時間があれば書き直しておきます。
書き直してみた。