ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > API > TwitterでOAuth認証した後どうするか
2010年02月02日 23:54

TwitterでOAuth認証した後どうするか

スポンサード リンク

色々Twitter連携するにはOAuth認証を扱えるようにしておかないと、というわけで以前やりかけて放置していたOAuthをイチからやり直してみました。

PHPで書いてるので参考にしたのは「PHPでTwitter APIのOAuthを使う方法まとめ - 頭ん中」です。PEARのHTTP_OAuthを使っていてとてもわかりやすかったです。

コードの書き方は上のエントリーを参考にしてもらうとして、ここでは認証した後どうすればいいのか考えたことをつらつら書いておきます。

認証が通るとアクセストークンを取得できて、そのトークンを利用するとユーザーのデータにアクセスできます。なので取得したアクセストークンをデータベースに保存しておくわけですが、TwitterのOAuth認証画面(アクセスを許可するかどうか選択する画面)で許可されるたびにアクセストークンが再発行されるようなので、すでにトークンを取得済みなら認証画面にアクセスさせないとか、再発行されたアクセストークンでデータベースを更新するといった処理が必要です。

トークンの有効期限はおそらくない?と思うのですが、よくわかってません。

また、アクセストークンを取得できてもそのユーザーが誰なのかはまだ分からないので、おそらく account/verify_credentials というメソッドをリクエストしてユーザー情報を取得するんだと思います。

自分のアプリケーションと連携する場合は、アプリケーションで利用しているセッション管理の仕組みと組み合わせてあげます。ユーザーのアカウントとTwitterアカウントを連携させる場合は、認証が通った後にTwitterのユーザー情報を取得して、そこからTwitterのユーザーIDだけユーザーと紐付けておけばいいと思います。screen_nameは変更可能なので紐付けには適しません。

APIのレスポンスはXMLよりJSONのほうが軽いし扱いやすいので、JSONで取得してそのままデータベースとかキャッシュとかに放り込んでおけばいいのかなと思います。

あと、データベースに保存するアクセストークンは扱いとしてはパスワードと同じものなので、必ず暗号化して保存しておく必要があります。ただし、Twitter APIをリクエストする際に復号する必要があるので、復号可能な暗号化方式で暗号化します。自分の場合は PEARのCrypt_Blowfishを使ってみました。

$key = base64_encode('暗号化用のキー');
$blowfish = new Crypt_Blowfish($key);
$accessToken = $blowfish->encrypt(base64_encode('アクセストークン'));

のように手軽に使えます。

HTTP_OAuthを使うやり方が大体わかったので、あとは色々連携機能を考えていくつもりです。

スポンサード リンク

Subscribe with livedoor Reader Add to Google Subscribe with Fastladder My Yahoo!に追加 Bloglinesで閲読登録 はてなRSSに追加 エキサイトリーダーに登録


トラックバック

このエントリーのトラックバックURL:

コメントを投稿

(承認されるまでコメントは表示されません。)

API / Twitter(ツイッター) / プログラミング

English version

前のエントリー: « Google Maps APIでAdSenseを利用する
次のエントリー: バレンタインにチョコレート梅酒はいかが?「レディチョコレート」 »

タイトル:

URL:

リンク用HTMLタグ:

Agile Media Network

AMN Partner Blog

広告掲載について

東京ナイロンガールズ
持っているガジェット
powered by Gadget Party
ブログクラブ

最近のつぶやき
このブログの読者になる

F.Ko-Jiの「一秒後は未来」 - RSSフィード

クマでもわかるこのブログの便利な更新チェック方法

DailyFeed

あわせて読みたいブログパーツ

フィードメーター - F.Ko-Jiの「一秒後は未来」

メンバー by Friend Connect

月別アーカイブ


<< September 2010
SuMoTuWeThFrSa
 1234
567891011
12131415161718
19202122232425
2627282930 
人気エントリー
TopHatenar
携帯からのアクセスは
QRコード
http://mob.fkoji.com/