openid tech night vol.6 oauth
TRANSCRIPT
![Page 1: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/1.jpg)
OAuth by agektmr
1
![Page 2: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/2.jpg)
女優 坂井真紀さん 曰く
2
自主規制
![Page 3: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/3.jpg)
自己紹介 • 北村英志(id:agektmr) • Tender Surrender(devlog.agektmr.com) • SocialWeb Japan主催 • Google API Expert (OpenSocial / Buzz) • NTTレゾナント所属 (goo)
3
![Page 4: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/4.jpg)
マッシュアップ • APIを用いて集めた公開情報を組み合わせ、新しいサービスを作り上げる ‒ 地図 ‒ 公開された写真 ‒ etc.
4
![Page 5: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/5.jpg)
地図マッシュアップの例
5
![Page 6: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/6.jpg)
認証を要するマッシュアップ • APIを用いて集めたユーザーに紐づく非公開情報を組み合わせ、新しいサービスを作り上げる ‒ アドレス帳 ‒ 非公開の写真 ‒ etc.
6
![Page 7: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/7.jpg)
Twitterマッシュアップの例
7
![Page 8: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/8.jpg)
セキュリティリスク を含むマッシュアップ
8
• リソースオーナーがクライアントに直接クレデンシャル(認可情報)を渡すリスク ‒ 信頼できないクライアント ‒ クライアントの脆弱性による情報漏えい ‒ etc.
リソースオーナー (ユーザー)
クライアント (コンシューマ)
サーバー (サービスプロバイダ)
![Page 9: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/9.jpg)
セキュリティリスク を含むマッシュアップの例
9
![Page 10: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/10.jpg)
そこでOAuth
10
![Page 11: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/11.jpg)
OAuthとは • 認可を必要とするリソースを、クレデンシャルをクライアントに渡すことなくマッシュアップするためのプロトコル
11
![Page 12: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/12.jpg)
Twitterでの利用例(1/3)
12
![Page 13: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/13.jpg)
Twitterでの利用例(2/3)
13
![Page 14: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/14.jpg)
Twitterでの利用例(3/3)
14
![Page 15: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/15.jpg)
OAuthフロー
15
テンポラリクレデンシャル取得 (リクエストトークン/シークレット)
トークンクレデンシャル取得 (アクセストークン/シークレット)
保護されたリソースを取得
ログイン/認可を承認
未認可アクセス
認可済みアクセス
クライアントクレデンシャル (コンシューマキー/シークレット)
![Page 16: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/16.jpg)
Twitter以外の利用例 • OpenSocial(mixi, MySpace, etc.) • Google • Yahoo! Japan • Facebook
16
![Page 17: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/17.jpg)
OAuthの拡張
17
![Page 18: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/18.jpg)
OpenID/OAuth Hybrid
18
![Page 19: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/19.jpg)
OAuth Proxy
19
![Page 20: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/20.jpg)
OAuth Consumer Request
20
データ取得
クライアントクレデンシャル
アクセス
![Page 21: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/21.jpg)
xAuth(Twitter)
21
トークンクレデンシャル取得
クライアントクレデンシャル ユーザークレデンシャル (ID/パスワード)
保護されたリソースを取得
認可済みアクセス
![Page 22: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/22.jpg)
OAuthのメリット • クライアントにクレデンシャルを渡す必要がない • 連携しているクライアントを把握しているため、サーバー側で連携を停止することができる
22
![Page 23: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/23.jpg)
OAuthのはらむ危険 • 認可の意味を把握せず利用される危険性 • 認可を行うことで、Twitterのフォロワー全員にダイレクトメッセージを送信するサービスが登場
23
![Page 24: OpenId Tech Night vol.6 OAuth](https://reader034.vdocuments.site/reader034/viewer/2022052600/557f3bd2d8b42aa41d8b4761/html5/thumbnails/24.jpg)
OAuthの未来 • OAuth 1.0 • OAuth 1.0a • OAuth WRAP • OAuth 2.0 • OpenID Connect...
24