Advertisement

OAuth Echo の Rails Gem

Dec. 21, 2011
Advertisement

More Related Content

Advertisement

Recently uploaded(20)

OAuth Echo の Rails Gem

  1. OAuth Echo の Rails Gem 2011.12.21 第2.1回Twitter API勉強会 #twtr_hack
  2. @tkawa
  3. REST
  4. REST 今回は関係ありません
  5. OAuth Echo
  6. TwitPic • 画像アップロードサービス • アカウント登録不要 • TwitterのID・パスワードも入力不要 • どうやって認証してるの?
  7. OAuth Echo • 認証をService Provider(Twitterなど)に 委譲するしくみ • クライアントがOAuth登録してあれば、 事前の登録やトークン取得が不要
  8. GET https://api.twitter.com/1/account/ verify_credentials.json Authorization: OAuth oauth_consumer_key="GDdmIQH6jhtmLUypg82g", oauth_nonce="oElnnMTQIZvqvlfXM56aBLAf5noGD0A QR3Fmi7Q6Y", oauth_signature="U1obTfE7Rs9J1kafTGwufLJdspo%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1272325550", oauth_token="819797- Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw", oauth_version="1.0"
  9. POST http://api.twitpic.com/2/upload.json X-Auth-Service-Provider: https://api.twitter.com/1/ account/verify_credentials.json X-Verify-Credentials-Authorization: OAuth oauth_consumer_key="GDdmIQH6jhtmLUypg82g", oauth_nonce="oElnnMTQIZvqvlfXM56aBLAf5noGD0A QR3Fmi7Q6Y", oauth_signature="U1obTfE7Rs9J1kafTGwufLJdspo%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1272325550", oauth_token="819797- Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw", oauth_version="1.0"
  10. POST http://api.twitpic.com/2/upload.json X-Auth-Service-Provider: https://api.twitter.com/1/ account/verify_credentials.json X-Verify-Credentials-Authorization: OAuth oauth_consumer_key="GDdmIQH6jhtmLUypg82g", oauth_nonce="oElnnMTQIZvqvlfXM56aBLAf5noGD0A QR3Fmi7Q6Y", oauth_signature="U1obTfE7Rs9J1kafTGwufLJdspo%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1272325550", oauth_token="819797- Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw", oauth_version="1.0" (ほぼ)これだけ
  11. GET https://api.twitter.com/1/account/ verify_credentials.json Authorization: OAuth oauth_consumer_key="GDdmIQH6jhtmLUypg82g", oauth_nonce="oElnnMTQIZvqvlfXM56aBLAf5noGD0A QR3Fmi7Q6Y", oauth_signature="U1obTfE7Rs9J1kafTGwufLJdspo%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1272325550", oauth_token="819797- Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw", oauth_version="1.0"
  12. OAuth Echo • Delegator(TwitPic)はリクエストごとに Service Provider(Twitter)に認証を求める • 1リクエストで完結する単純なAPIの実装 に向いている • 認証だけなので、Service Provider(Twitter) 側に書き込んだりすることはできない
  13. • 非公式仕様 - ほぼTwitterでしか使われていない • OAuth 1.0仕様に基づいており、OAuth 2.0 になると使えない - Google, Facebook, GitHubなどがOAuth 2.0 問題点?
  14. class PostsController < ApplicationController http_basic_authenticate_with :name => "tkawa", :password => "secret" def index render :json => { :message => "Limited Access" } end ... end かんたんBasic認証
  15. class PostsController < ApplicationController oauth_echo_authenticate_with :twitter def index render :json => { :message => "Limited Access" } end ... end かんたんOAuth Echo認証
  16. https://github.com/tkawa/ oauth_echo_authentication
  17. きっかけ http://www.atmarkit.co.jp/news/201004/21/twitterapi.html
  18. きっかけ • Twitterのアノテーションの話がいつのま にか消滅 • 自分で使いたい分だけでも自分で作る か
  19. Web認知行動療法 http://u2plus.jp/ 開発中
Advertisement