OAuth Echo
の Rails Gem
2011.12.21 第2.1回Twitter API勉強会 #twtr_hack
@tkawa
OAuth Echo の Rails Gem
REST
REST
今回は関係ありません
OAuth Echo
OAuth Echo の Rails Gem
TwitPic
• 画像アップロードサービス
• アカウント登録不要
• TwitterのID・パスワードも入力不要
• どうやって認証してるの?
OAuth Echo
• 認証をService Provider(Twitterなど)に
委譲するしくみ
• クライアントがOAuth登録してあれば、
事前の登録やトークン取得が不要
OAuth Echo の Rails Gem
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"
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"
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"
(ほぼ)これだけ
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"
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
問題点?
OAuth Echo の Rails Gem
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のアノテーションの話がいつのま
にか消滅
• 自分で使いたい分だけでも自分で作る
か
Web認知行動療法
http://u2plus.jp/
開発中

More Related Content

PDF
Rest ful api設計入門
PDF
OAuth 2.0による認可の流れ
PPT
PFI Seminar 2012/02/24
PDF
Twitter連携chrome extension作り方
PDF
Introduction of OAuth 2.0 vol.1
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い
PDF
kitproライトニングトーク
PDF
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Rest ful api設計入門
OAuth 2.0による認可の流れ
PFI Seminar 2012/02/24
Twitter連携chrome extension作り方
Introduction of OAuth 2.0 vol.1
なんとなくOAuth怖いって思ってるやつちょっと来い
kitproライトニングトーク
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...

Similar to OAuth Echo の Rails Gem (20)

PDF
Anonymous OAuth Test
PDF
Financial-grade API Hands-on with Authlete
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
PDF
ゼロからはじめるサーバーサイド Vol2
PPT
Google App EngineでTwitterアプリを作ろう
PPT
PDF
OAuth 2.0 MAC Authentication
PDF
Azure Static Web Apps を試してみた!
PDF
PDF
今更聞けないOAuth2.0
PPTX
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
PDF
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
PPTX
Opauthライブラリによるtwitter,facebook認証について
PDF
API提供におけるOAuthの役割 #apijp
PDF
Twitter4jハンズオン 5/1 #twtr_hack
PDF
React(TypeScript) + Go + Auth0 で実現する管理画面
PPT
20100703devdo
PDF
【Open棟梁 汎用認証サイト】による認証ソリューション
PPTX
Azure AD による Web API の 保護
PPTX
Windows.Web.Http.HttpClientとWebAuthenticationBroker
Anonymous OAuth Test
Financial-grade API Hands-on with Authlete
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
ゼロからはじめるサーバーサイド Vol2
Google App EngineでTwitterアプリを作ろう
OAuth 2.0 MAC Authentication
Azure Static Web Apps を試してみた!
今更聞けないOAuth2.0
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Opauthライブラリによるtwitter,facebook認証について
API提供におけるOAuthの役割 #apijp
Twitter4jハンズオン 5/1 #twtr_hack
React(TypeScript) + Go + Auth0 で実現する管理画面
20100703devdo
【Open棟梁 汎用認証サイト】による認証ソリューション
Azure AD による Web API の 保護
Windows.Web.Http.HttpClientとWebAuthenticationBroker
Ad

More from Toru Kawamura (12)

PDF
真のREST
PDF
RailsスタイルからRESTを学ぼう よちがや.rb
PDF
Web Clients for Ruby and What they should be in the future
PDF
RESTful #とは RailsスタイルからRESTを学ぼう
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
PDF
RESTful Meetup vol.3 Introduction
PDF
Rails Gems realize RESTful modeling patterns
PDF
リソースモデリングパターンの提案 #sendagayarb
PDF
routes.rb をもう一度考えてみた #shibuyarb
PDF
返信と@ツイートの仕様変更と提案 #twtr_hack
PDF
RESTとRailsスタイル
真のREST
RailsスタイルからRESTを学ぼう よちがや.rb
Web Clients for Ruby and What they should be in the future
RESTful #とは RailsスタイルからRESTを学ぼう
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
RESTful Meetup vol.3 Introduction
Rails Gems realize RESTful modeling patterns
リソースモデリングパターンの提案 #sendagayarb
routes.rb をもう一度考えてみた #shibuyarb
返信と@ツイートの仕様変更と提案 #twtr_hack
RESTとRailsスタイル
Ad

Recently uploaded (10)

PPTX
Vibe Codingを触って感じた現実について.pptx .
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
Vibe Codingを触って感じた現実について.pptx .
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
20250823_IoTLT_vol126_kitazaki_v1___.pdf
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ

OAuth Echo の Rails Gem