Home > Rails | Twitter > OAuthの流れと気になったこと。

OAuthの流れと気になったこと。

ついにやってしまった。

Rails2.3.4でOAuthを利用してTwitterAPIにアクセス。

TwitterAPI with OAuth。

いやー楽しかった。

かなりハマりもあったのでメモメモ。

まずはOAuthとTwitterAPIへのアクセスの概要について。

発音はOH OAuthと読むらしい。

OAuthとはデスクトップ・Webアプリケーション向けのAPIへのアクセス権限を委譲するためのプロトコル。

登場人物は3人でそれぞれプロバイダ、コンシューマ、ユーザとなる。

最終的な目的はプロバイダから発行されるリソースアクセス用のAccessTokenというものを取得すること。

簡単な動きは以下の通り。

  1. ユーザがコンシューマを通してRequestTokenを要求し、プロバイダが発行する
  2. ユーザはプロバイダを通してコンシューマがリソースへアクセスをするのを認可する(RequestTokenが認可済みになる)
  3. 同一のユーザが認可したことを確認して、認可済みのRequestTokenをAccessTokenへ交換する。
  4. AccessTokenを通してリソースへアクセスする。

こんな流れになるのかな。

文献は結構あったので調べれば色々でてくるはず。

ソースを載せようとおもったけどちょっと量多かった。。

要望あったら載せようかな。

気になったのはなぜシークレットが必要なのかということ。

答えはリクエストの署名に使用しているということだった。

どうやらコンシューマシークレットとリクエスト・アクセストークンシークレットが秘密鍵になったHMAC-SHA1を使っているみたい。

またなんでAccessTokenをすぐ発行しないのかについても考えてみた。

認可後のレスポンスにはoauth_verifierパラメータというのが含まれ、oauth_verifierと認可されたrequest_tokenを使ってaccess_tokenを取得する。

oauth_verifierパラメータは、Request Tokenを発行したUserとブラウザで認可処理を行ったUserが同一であることを確認するためのパラメータみたいなので、この確認のためにすぐ発行できないという推測をしてみた。

さて合ってるのかな。。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.terut.net/wp-trackback.php?p=177
Listed below are links to weblogs that reference
OAuthの流れと気になったこと。 from Action*3

Home > Rails | Twitter > OAuthの流れと気になったこと。

Search
Feeds
Meta
Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Return to page top