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